К постановкам задач

2.П.2. Компания Reddy Mikks: новые ограничения

Постановка задачи

    В модели для Reddy Mikks построить новые ограничения:
  1. Ежедневный объем производства краски для внутренних работ С1 должен не менее, чем на одну тонну превышать ежедневный объем производства краски С2 для наружных работ.
  2. Ежедневное потребление сырья М2 должно быть не менее 3т и не более 6т.
  3. Ежедневный объем производства краски для внутренних работ С1 не может быть меньше ежедневного объема производства краски С2 для наружных работ.
  4. Минимальный ежедневный общий объем производства краски обоих типов составляет 3т.
  5. Отношение ежедневного объема производства краски С1 к общему объему производства краски обоих типов не должно превышать 1/2.
Reddy Mikks собирается продавать краску С2 оптовому покупателю со скидкой, зависящей от объема поставок. В результате доход за тонну составляет $5000 при покупке не более 2т в день и $4500 при больших закупках. Есть ли решение?
    В рамках модели Reddy Mikks найти оптимальное решение, учитывая независимо следующие условия.
  1. Ежедневный объем производства краски С2 не должен превышать 2.5т
  2. Ежедневный объем производства краски С1 должен быть не менее 2т.
  3. Ежедневный объем производства краски С1 должен превышать ежедневный объем производства краски С2 ровно на 1т.
  4. Ежедневный расход сырья М1 должен быть не менее 24т.
  5. Ежедневный расход сырья М1 должен быть не менее 24т и ежедневный объем производства краски С1 должен не менее, чем на 1т превышать ежедневный объем производства краски С2.
  6. Решение задачи

    Модель ORI2P2

    Приведем базовые параметры задачи:
    С1С2Max в день
    Расход M14624
    Расход M2216
    Доход45
      Формализуем и проанализируем ограничения:
    1. С1 >= C2 + 1
    2. 3 <= М2 <= 6
    3. С1 >= C2
    4. C1 + C2 >= 3
    5. С1 / (C1+C2) <= 1/2 => C1 <= C2
    6. C2 <= 2.5
    7. С1 >= 2т.
    8. С1 = С2 + 1
    9. М1 >= 24
    10. М1 >= 24 .and. С1 >= C2 +1
    11. С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%.
    Чтобы снять условие, достаточно удалить скидку.

    К постановкам задач