|    | 
СИ-БИ техника | КВ техника | УКВ техника | Радиоизмерения | Защита от TVI | Источники питания | Софт | Расчеты | Справочники
Главная arrow Проектирование arrow MathCAD arrow Задача об оптимальном плане выпуска стульев  

Задача об оптимальном плане выпуска стульев

Суть задачи такова. Мебельная фабрика может выпускать стулья двух типов ценою в 8 и 12 условных единиц (у. е.11). Под этот заказ выделены материальные и людские ресурсы — известно, сколько досок, ткани и времени идет на изготовление каждого стула (табл. 3.1).

Таблица 3.1. Данные для задачи об оптимальном плане выпуска стульев

Стул

Расход досок, м

Расход ткани, м2

Расход времени, человеко-часов

Первый

2

0.5

2

Второй

4

0.25

2.5

Ресурс

490

65

320

Спрашивается, как нужно спланировать производство стульев, чтобы наделать их либо количеством, либо ценой поболее. Решение этой задачи представлено на рис. 3.18 и 3.19.

Данная задача относится к широкому классу под названием "задачи линейного программирования": необходимо установить план (программу!) выпуска изделий (у нас это стулья), ориентируясь на целевую функцию (у нас их две — общее количество и общая стоимость стульев) и принимая во внимание ограничения (ресурсы по доскам, ткани и человеко-часам).

Примечание

"Линейного" — значит, что и целевая функция, и ограничения от переменных задачи зависят линейно. "Программирование" не имеет прямого отношения к программированию в современном понимании этого слова. Здесь другой смысл — программа (план) выпуска продукции.

Рис. 3.18. Попытка решения задачи целочисленного линейного программирования

На рис. 3.18 показана попытка решения задачи о стульях с помощью функции Maximize. Она оказалась не вполне удачной: Mathcad, а точнее, функции

Maximize и Minimize не способны решать целочисленные задачи, т. е. такие, где в списке ограничений стоит ограничение на целочисленность искомых переменных.

На рис. 3.19 сделана попытка спасти решение, показанное на рис. 3.18. В список ограничений введено ограничение на целочисленность: Стул: = Floor (Стул1,шт) — переменная Стул1 должна быть равна своей целой части. После этой вставки решение было выдано целочисленное (1 и 122 стула). Но самое ли оно оптимальное (стоимость стульев равна 1472 $)? Ответ на этот вопрос хранится на рис. 3.19.

Рис. 3.19. Попытка спасения решения задачи целочисленного линейного программирования

На рис. 3.20 показано решение задачи о плане (программе) выпуска стульев методом перебора — анализа матрицы цена, хранящей стоимости вариантов выпуска стульев при выполнении ограничений — если одно из ограничений не соблюдается, то соответствующий элемент матрицы цена становится нулевым. Встроенная в Mathcad функция match в задаче о стульях вернула нам два решения задачи, при которой цена стульев (20 и 112 шт.; 17 и 114 шт.) будет максимальной — 1504 $. Так что решение, показанное на рис. 3.18 (1 и 122 стульев), было не оптимальным.

Внизу рис. 3.20 можно увидеть, как расходуются ресурсы (что остается лишним — доски, ткань и/или рабочее время) при найденных двух планах —-производственных программах изготовления стульев.

Задачи, показанные на рис. 3.15—3.20— простенькие, но очень, если так можно выразиться, жизненно важные. На каждом шагу приходится что-то оптимизировать (расходы, например), принимая во внимание всякого рода ограничения (доходы!). Можно привести такой пример. После часа пик (скажем, в зимнее утро) расход электроэнергии падает, и необходимо снижать нагрузку электрогенераторов. Как это делать? Можно отключить отдельные генераторы, а можно оставить их в работе, изменив нагрузку. Диспетчер энергосистемы дает соответствующие команды, ориентируясь на некие целевые функции: средний расход топлива по системе, выброс с дымовыми газами вредных веществ в атмосферу, износ оборудования, степень готовности электростанций и дальше менять нагрузку и т. д.

Рис. 3.20. Решение задачи целочисленного линейного программирования

Переменные такой оптимизации могут быть и вещественными (мощность отдельного энергоблока, которая меняется, естественно, в разумных пределах, определяемых техническими условиями — ограничения в задаче), и целочисленными (количество работающих блоков). Эта задача очень сложная, но и весьма эффективная — здесь речь идет о высвобождаемых составах с топливом, о снижении выбросов СО2 в атмосферу (вспомним Киотский протокол).

Вот еще примеры. Когда нужно убирать пшеницу? Пораньше — зерно еще не вызрело. Попозже — часть зерна уже осыпалась. Сколько и каких акций стоит купить на ограниченную сумму денег, чтобы будущий дивиденд был максимален? В каких средствах массовой информации стоит размещать рекламу на выделенные по смете деньги, чтобы эффект от нее был максимален, и т. д. и т. п.?



RLBN.ru - Электроника и компьютеры

0.1493
Hosted by uCoz