2.2. Оптимизация производства краски в компании Reddy Mikks
Постановка задачи
Компания Reddy Mikks производит краску из сырья двух типов (M1 и M2) для
внутренних работ (C1) и для наружных работ (С2). В связи с ограниченностью спроса
ежедневное производство краски С1 не должно превышать 2т и не должно превышать более,
чем на тонну производство краски С2. В таблице приведены исходные данные для задачи.
Количества приводятся в тоннах. Доход от продажи краски приведен в 1000$/т краски.
Через [C2] обозначено количество краски С2.
| С1 | С2 | Max в день |
Расход M1 | 4 | 6 | 24 |
Расход M2 | 2 | 1 | 6 |
Доход | 4 | 5 | |
Max производства | 2 [C2]+1 |
| |
Решение задачи
Параметры задачи приведены в постановке задачи.
Для решения задачи можно использовать следующую базовую модель 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. Уберем объект Счетчик
вычислений.