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

2.2. Оптимизация производства краски в компании Reddy Mikks

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

Компания Reddy Mikks производит краску из сырья двух типов (M1 и M2) для внутренних работ (C1) и для наружных работ (С2). В связи с ограниченностью спроса ежедневное производство краски С1 не должно превышать 2т и не должно превышать более, чем на тонну производство краски С2. В таблице приведены исходные данные для задачи. Количества приводятся в тоннах. Доход от продажи краски приведен в 1000$/т краски. Через [C2] обозначено количество краски С2.
С1С2Max в день
Расход M14624
Расход M2216
Доход45
Max производства2
[C2]+1

Решение задачи

Модель ORI202

Параметры задачи приведены в постановке задачи.
Для решения задачи можно использовать следующую базовую модель ORI202.
Сырье М1 и М2 поступает из Поступления сырья (тип "Приобретение") в Производство (тип "Производство"), где перерабатывается в продукт - краску С1 и С2. Оттуда краска поступает в Сбыт (тип "Сбыт").

Вставим в модель объекты Поступление сырья, Производство и Сбыт. Проведем связи-потоки из Поступления сырья в Производство, из Производства в Сбыт.
В Поступление сырья, в таблицу закупок, введем материалы М1 и М2. Зададим для них ограничение на максимум из таблицы параметров.
В Сбыт, в таблицу продаж, введем продукты С1 и С2. Зададим для них цену-прибыль из таблицы параметров. Для С1 зададим ограничение на Мах из параметров задачи.
В Производство, в таблицу процессов, введем два процесса Р1 и Р2 производства соответственно С1 и С2. Во входящих материалах введем для каждого процесса оба материала, потребление зададим из таблицы параметров. В исходящих материалах введем для каждого процесса соответствующий ему товар-краску, выход = 1.
Единственная трудность возникает с заданием ограничения [C1] <= [C2]+1. Это ограничение специальное, поэтому для его задания требуются специальные способы. Некоторые из них тут приведены.

1. Модель ORI202 (базовая)

Еще до введения нужного ограничения можно рассчитать модель и убедиться, что в данном случае это ограничение выполняется, т.е. излишне. Т.о. можно обойтись без его введения, что увеличит и эффективность расчета модели, и ее наглядность и простоту. Это решение имеет тот недостаток, что за выполнением пропущеного излишнего ограничения придется следить при каждом изменении данных модели. С другой стороны, изменение данных может повлечь и изменение либо снятие отдельно отслеживаемого ограничения.
Приведенное решение является проблемным. Оно переносит часть трудностей с разработки модели на ее использование, т.е. с разработчика на пользователя.

2. Модель ORI202_1

Надо задать ограничение на результат производства. Поэтому введем в Производстве в исходящих материалах флажки Ф1 и Ф2. Ф1 контролирует С1, выход Ф1 равен выходу С1. Ф2 контролирует С2, выход Ф2 равен выходу С1. Надо обеспечить [Ф1] <= [Ф2]+1 или [Ф1] - [Ф2] <= 1.
Для учета выполнения условия введем объект типа "Хранение" с именем "Учет". Добавим в него как хранимые материалы Ф1 и Ф2. Для Ф1 зададим условие Max запас = 1. Это обеспечит выполнение правой части условия. Направим поток из Производства в Учет.
Для выполнения [Ф1] - [Ф2] введем объект типа "Смешение" с именем "Вычисления". В него добавим одну смесь Ф12, компоненты которой Ф1 и Ф2. На компоненты зададим ограничения: Min% = Max% = 50%. Это обеспечит, что Ф1 и Ф2 будут расходоваться в равных количествах, т.е. будет выполняться | [Ф1] - [Ф2] |. Направим поток из Учета в Вычисления и из Вычислений в Сбыт. В Сбыте добавим в таблицу продаж товар Ф12. Кол-во ед. Ф12 будет показывать удвоенное число вычислений.
В этой модели вычисление условий не выделено в метагруппу, что вызовет трудности при внесении других условий и при анализе итогов деятельности - вместе с производимыми продуктами С1 и С2 помещен учетный признак Ф12.

3. Модель ORI202_2

Используются те же идеи.
Так же в Производство добавляются флажки Ф1 и Ф2, вводится объект типа "Хранение" с именем"Учет".
Для выполнения [Ф1] - [Ф2] вместо "Смешения" введем объект типа "Производство" с именем "Вычисления". В него добавим процесс Ф12 с входящими материалами Ф1 и Ф2 и продуктом Ф12 в исходящих материалах. Потребление и выход на единицу процесса везде равны единице.
Добавим объект типа "Сбыт" с именем "Счетчик вычислений" В Сбыте добавим в таблицу продаж товар Ф12. Кол-во ед. Ф12 будет показывать число вычислений.
Направим поток из Учета в Вычисления и из Вычислений в Счетчик вычислений.
Объединим Учет, Вычисления и Счетчик вычислений в метагруппу с именем "Контроль ограничений".

4. Модель ORI202_3

За основу возьмем модель ORI202_2 и упростим ее.
В данной модели не надо знать число вычислений. Т.о. продукт Ф12 не нужен.
В Вычислениях уберем из исходящих материалов продукт Ф12. Уберем объект Счетчик вычислений.

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