2.П.2. Компания Reddy Mikks: новые ограничения
Постановка задачи
В модели для Reddy Mikks построить новые ограничения:
- Ежедневный объем производства краски для внутренних работ С1 должен не менее, чем
на одну тонну превышать ежедневный объем производства краски С2 для наружных работ.
- Ежедневное потребление сырья М2 должно быть не менее 3т и не более 6т.
- Ежедневный объем производства краски для внутренних работ С1 не может быть меньше
ежедневного объема производства краски С2 для наружных работ.
- Минимальный ежедневный общий объем производства краски обоих типов составляет 3т.
- Отношение ежедневного объема производства краски С1 к общему объему производства
краски обоих типов не должно превышать 1/2.
Reddy Mikks собирается продавать краску С2 оптовому покупателю со скидкой, зависящей
от объема поставок. В результате доход за тонну составляет $5000 при покупке не более 2т
в день и $4500 при больших закупках. Есть ли решение?
В рамках модели Reddy Mikks найти оптимальное решение, учитывая независимо
следующие условия.
- Ежедневный объем производства краски С2 не должен превышать 2.5т
- Ежедневный объем производства краски С1 должен быть не менее 2т.
- Ежедневный объем производства краски С1 должен превышать ежедневный объем
производства краски С2 ровно на 1т.
- Ежедневный расход сырья М1 должен быть не менее 24т.
- Ежедневный расход сырья М1 должен быть не менее 24т и ежедневный объем
производства краски С1 должен не менее, чем на 1т превышать ежедневный объем
производства краски С2.
Решение задачи
- Приведем базовые параметры задачи:
| С1 | С2 | Max в день |
Расход M1 | 4 | 6 | 24 |
Расход M2 | 2 | 1 | 6 |
Доход | 4 | 5 | |
Формализуем и проанализируем ограничения:
- С1 >= C2 + 1
- 3 <= М2 <= 6
- С1 >= C2
- C1 + C2 >= 3
- С1 / (C1+C2) <= 1/2 => C1 <= C2
- C2 <= 2.5
- С1 >= 2т.
- С1 = С2 + 1
- М1 >= 24
- М1 >= 24 .and. С1 >= C2 +1
- С2 <= 2 => цена С2 = 5000, С2 > 2 => цена С2 = 4500
- Для решения задачи будем использовать модель ORI2P2 - доработанную копию модели ORI202_3.
- Модель имеет следующий вид.
- Сырье М1 и М2 поступает из Сырья М1 и Сырья М2 (тип обоих "Приобретение") в Производство (тип
"Производство"), где перерабатывается в краску С1 и С2. Оттуда краска поступает в Сбыт С1 и Сбыт С2 (тип
обоих "Сбыт").
- Для задания ограничений используется метаузел Контроль ограничений, содержащий: объект Ресурсы
(тип "Ресурсы"), из которого ресурсы поступают в Производство, а также объекты Учет (тип "Хранение") и
Вычисления (тип "Производство"). В Учет поступают продукты-флаги из Производства. Из Учета эти
продукты-флаги поступают в Вычисления.
- Сырье М1 и Сырье М2 в таблице закупок содержат соответственно материалы М1 и М2.
- Сбыт С1 и Сбыт С2 в таблице продаж содержат соответственно продукты С1 и С2.
- Производство в таблицу процессов содержит процессы Р1 и Р2 производства соответственно С1 и С2.
Входящие материалы содержат для каждого процесса оба материала М1 и М2. Исходящие материалы содержат для
каждого процесса соответствующий ему товар-краску и флаг (Ф1, Ф2) для задания условий. Потребление
ресурсов содержит для каждого процесса потребление ресурса общий объем, который будет описан ниже.
- Учет в хранимых материалах содержит оба материала-флага (Ф1, Ф2).
- Вычисления в процессах содержит процесс Ф12 и во входящих материалах для этого процесса оба
материала-флага. Процесс предназначен для взаимного учета-уничтожения флагов. Он уменьшает количество
обоих флагов в Учете на 1 до тех пор, пока не будет выполнено заданное для флагов в Учете условие.
- Далее будет описано, как задать и отключить любое из нужных условий. После этоо пользователь может
самостоятельно рассчитать модель с любым набором условий.
- (1) С1 >= C2 + 1
- В Учете, в хранимых материалах, для Ф1 задается Мin = 1, для Ф2 Мах=0. Процесс Ф12 в Вычислениях
взаимно уничтожит одинаковое количество флагов, при этом уничтожит все Ф2, а Ф1 останется >=1, т.е.
Ф1 >= Ф2 + 1, и т.к. Ф1 = С1, Ф2 = С2, С1 >= C2 +1.
- Чтобы снять условие, достаточно снять ограничения для Ф1 Мin = 1 и для Ф2 Мах=0.
- (2) 3 <= М2 <= 6
- В Сырье М2, в таблице закупок, для М2 задать Min = 3, Мах = 6.
- Чтобы снять условие, достаточно снять ограничения для М2 Мin = 3 Мах=6.
- (3) С1 >= C2
- Подобно условию-(1). В Учете, в хранимых материалах, для Ф1 задается Мin = 0, для Ф2 Мах=0.
Одновременно задавать условия (1) и (3) не имеет смысла, т.к. (1) => (3). Чтобы снять условие, достаточно
снять ограничение для Ф2 Мах=0.
- (4) C1 + C2 >= 3
- В ресурсах, в таблице ресурсов, зададим для общего объема Min кол-во = 3. Т.к. Этот ресурс
потребляется в количестве = 1 при производстве С1 и С2, процессов производства должно быть всего выполнено
не менее трех.
- Чтобы снять условие, достаточно снять ограничение для общего объема Min кол-во = 3.
- (5) С1 <= C2
- Подобно условию-(3), только поменять Ф1 и Ф2 местами. Задавать это условие совместно с условием (1)
не имеет смысла, т.к. они противоречат друг другу. При совместном задании с условием (3) получаем условие
С1 = С2.
- (6) C2 <= 2.5
- В Сбыте С2, в таблице продаж, задать для С2 Мах=2.5.
- Чтобы снять условие, достаточно снять ограничение для С2 Мах=2.5.
- (7) С1 >= 2
- В Сбыте С1, в таблице продаж, задать для С1 Мin=2.
- Чтобы снять условие, достаточно снять ограничение для С1 Мin=2.
- (8) С1 = C2 + 1
- Подобно условию-(1). В Учете, в хранимых материалах, для Ф1 задается Мin = 1, для Ф2 Мах=0. Чтобы
обеспечить равенство, дополнительно задается для Ф1 Мах=0. Чтобы снять условие, достаточно снять
описанные ограничения.
- (9) М1 >= 24
- Подобно условию-(2). В Сырье М1, в таблице закупок, для М1 задать Min = 24. Чтобы снять
условие, достаточно снять описанное ограничение.
- (10) М1 >= 24 .and. С1 >= C2 +1
- Одновременное задание условий (1) и (9).
- (11) С2 <= 2 => цена С2 = 5000, С2 > 2 => цена С2 = 4500
- Добавить В Сбыт С2, в скидки уровень скидки = 2, %скидки = 10%.
- Чтобы снять условие, достаточно удалить скидку.