Оптимизация ресурсов, Пример 1
Планирование производства, закупок, оптимизация параметров объектов. Искомыми переменными являются количества продукции или товара каждого вида.
Задаются:
- расход каждого ресурса при производстве или закупке единицы продукции или товара каждого вида,
- ограничение-план производства или закупки-продажи по каждому ресурсу,
- другие ограничения и взаимосвязи между переменными,
- величина эффекта от производства или закупки-продажи единицы каждой продукции или товара. Максимизируется результирующий эффект.
Продукцией может являться также параметр сырья, изделия, организации, а ресурсом и ограничением, - показатель и уровень его качества.
Иллюстрация. Требуется максимизировать прибыль или минимизировать расходы при закупке двух товаров. Товар А-арбуз, обязательной номенклатуры, дорогой и малоприбыльный можно закупать по необходимости (обозначим А1) или партией 100-300 ед. (обозначим А2). Товар С-сигареты, дешевый и прибыльный, но есть проблемы с покупкой.
Поэтому нужно рассмотреть варианты А и А+С.
Параметры товаров приведены в таблице.
Товар цена цена спрос
покупки продажи
А1 125 120 200-400
А2 100 120 200-400
С 10 20 0-5000
Здесь переменными являются количества закупленного и проданного товара, ресурсами - деньги и товары, ограничением-планом - наличие денег и товаров и спрос, расходом - стоимость, эффектом - цена, результирующим эффектом - прибыль или расходы закупок, взятые с обратным знаком.
Для проницательного читателя приведены математические выкладки. Их можно пропустить.
Обозначим переменные:
Х1, Х4 - число проданных товаров А и С
Х2, Х3 - число купленных товаров А1 и А2
Ограничения-план по диапазону для купленных товаров - величина партии или спрос, для проданных товаров - спрос.
Ограничения - взаимосвязи:
-продано товаров А не больше, чем куплено: X1<=X2+X3
-расходы при закупке партий товаров не больше 40000:
100*X3+10*X4<=40000
-прибыль должна быть не меньше 5000 и составлять (15 - 40) % от расходов при закупке партий товаров, причем, последнее ограничение (40%) по прибыли не обязательно :
(120*X1-125*X2-100*X3+10*X4)>=5000
(120*X1-125*X2-100*X3+10*X4)>=0.15*(100*X3+10*X4)
(120*X1-125*X2-100*X3+10*X4)<=0.40*(100*X3+10*X4)
Нужно рассчитать 2 варианта, - максимизировать прибыль или минимизировать расходы при закупке партий товаров. Так как используемая программа рассчитана только на максимизацию, для минимизации расходов используем их величины, взятые с обратным знаком
Максимизируемые функции:
-прибыль: F1= 0 +120*X1 -125*X2 -100*X3 +10*X4
-отрицательные расходы при закупке партий изделий:
F2= 0 - 0 *X1 - 0 *X2 -100*X3 - 10 *X4
****************************************************************
Результаты расчетов
Арбузы и сигареты
*** Оптимизация ресурсов. optim.dat ***
переменных 4
ограничений 5
функций 2
** Значение 1-й функции: 16000 прибыль
*** переменные и ограничения ***
арбузы продан. **1 400 запас по арбузам **5 0
арбузы куплен. **2 106.667 запас по расходам **6 0
партия арбузов **3 293.333 запас по объему прибыли **7 11000
сигареты **4 1066.67 запас по 15% прибыли **8 8933.33
запас по 40% прибыли **9 0
Удивляет покупка себе в убыток, но для обеспечения спроса, дорогих арбузов вместо более дешевых партией. Это объясняется действием последнего ограничения прибыли сверху, что ограничивает максимизацию прибыли. Получено одно из допустимых для ограничений решений.
** Значение 2-й функции: -13500 расходы с обрат. знаком
*** переменные и ограничения ***
**1 200 **5 0
**2 100 **6 26500
**3 100 **7 0
**4 350 **8 2625
**9 399.999
*** Оптимизация ресурсов. optim.dat ***
Минимизация расходов диктует покупку минимальной партии арбузов. Спрос арбузов удовлетворяется дорогими арбузами без увеличения расходов, так как прибыль от продажи сигарет покрывает все. Конкретное решение определяют существенные ограничения, - те, которые имеют нулевой запас, - правый столбец, первое и третье ограничения.
переменных 4
ограничений 4 последнее ограничение по 40% прибыли снято
функций 2
** Значение 1-й функции: 31500
*** переменные и ограничения ***
**1 200 **5 0
**2 100 **6 0
**3 100 **7 26500
**4 3000 **8 22500
Убыточная (на первый взгляд) покупка дорогих арбузов объясняется ограничением ресурса денег и наибольшей прибыльностью сигарет. Выгодно купить максимум сигарет, на оставшиеся деньги купить дешевых арбузов партией, а остальные арбузы приходится добавлять по необходимости. Этот пример показывает, что правильный результат можно получить только методичным поиском вариантов и их анализом, что, собственно, и происходит.
** Значение 2-й функции: -13500
*** переменные и ограничения ***
**1 200 **5 0
**2 100 **6 26500
**3 100 **7 0
**4 350 **8 2625
Только арбузы
*** Оптимизация ресурсов. optim.dat ***
переменных 3 последняя переменная (сигареты) снята
ограничений 5
функций 2
** Значение 1-й функции: 6000
*** переменные и ограничения ***
**1 300 **4 0
**2 0 **5 10000
**3 300 **6 1000
**7 1500
**8 6000
** Значение 2-й функции: -25000
*** переменные и ограничения ***
**1 250 **4 0
**2 0 **5 15000
**3 250 **6 0
**7 1250
**8 5000
Выбран минимальный размер партии, удовлетворяющий ограничению снизу объема прибыли.
*** Оптимизация ресурсов. optim.dat ***
переменных 3
ограничений 4
функций 2
** Значение 1-й функции: 6000
*** переменные и ограничения ***
**1 300 **4 0
**2 0 **5 10000
**3 300 **6 1000
**7 1500
** Значение 2-й функции: -25000
*** переменные и ограничения ***
**1 250 **4 0
**2 0 **5 15000
**3 250 **6 0
**7 1250
При анализе результатов нужно искать существенные ограничения. Они имеют запас, равный нулю, то есть неравенства превращаются в равенства (правый столбец). Видно, что результаты оптимизации могут быть нетривиальны даже для одного - двух товаров.
Опубликовано 2012-11-02