182169 (629343), страница 2
Текст из файла (страница 2)
Требуется найти план раскроя, обеспечивающий максимальное число комплектов.
Экономико-математическая модель этой задачи может быть сформулирована следующим образом. Обозначим xi— число единиц материалов, раскраиваемых i-м способом, и x — число изготавливаемых комплектов изделий.
Учитывая, что общее количество материала равно сумме его единиц, раскраиваемых различными способами, получим:
(1)
Условие комплектности выразится уравнениями:
(j=1,…,k)(2)
Очевидно, что
xi
0 (i=1,…,n)(3)
Целью является определить такое решение Х= (x1,…,xn), удовлетворяющее ограничениям (1)-(3), при котором функция F = x принимает максимальное значение. Проиллюстрируем рассмотренную задачу следующим примером Для изготовления брусьев длиной 1,5 м, 3 м и 5 м в соотношении 2:1:3 на распил поступают 200 бревен длиной 6 м. Определить план распила, обеспечивающий максимальное число комплектов. Чтобы сформулировать соответствующую оптимизационную задачу линейного программирования, определим все возможные способы распила бревен, указав соответствующее число получаемых при этом брусьев (табл. 1).
Таблица 1
| Способ распила i | Число получаемых брусьев различной длины | ||
| 1,5 | 3,0 | 5,0 | |
| 1 | 4 | - | - |
| 2 | 2 | 1 | - |
| 3 | - | 2 | - |
| 4 | - | - | 1 |
Обозначим через xi— число бревен, распиленных i-м способом (i = 1.2, 3, 4); х —число комплектов брусьев.
С учетом того, что все бревна должны быть распилены, а число брусьев каждого размера должно удовлетворять условию комплектности, оптимизационная экономико-математическая модель примет следующий вид
х → max
при ограничениях:
x1+x2+x3+x4=200
4x1+2x2=2x
x2+2x3=x
x4=2x
xi
0 (i=1,2,3,4)
Задача выбора оптимальной производственной программы предприятия. Пусть предприятие может выпускать n различных видов продукции. Для выпуска этих видов продукции предприятие использует М видов материально-сырьевых ресурсов и N видов оборудования. Необходимо определить объемы производства предприятия (т.е. его производственную программу) на заданном интервале планирования [0, Т], чтобы максимизировать валовую прибыль предприятия.
Далее будем полагать, что валовая прибыль есть выручка, полученная от реализации продукции за вычетом условно-постоянных и переменных затрат. Иными словами, необходимо максимизировать целевую функцию вида:
(4)
где ai — цена реализации продукции вида i;
bi — переменные затраты на выпуск одной единицы продукции вида i;
Zp — условно постоянные затраты, которые будем предполагать независимыми от вектора х = (x1,..., xn).
При этом должны быть выполнены ограничения на объемы используемых материально-сырьевых ресурсов и время использования оборудования на интервале [0,T].
Обозначим через Lj(j = l,...,M) объем запасов материально-сырьевых ресурсов вида j, а через τk (k = 1,..., N) — время, в течение которого может быть использовано оборудование вида k. Известно потребление материально-сырьевых ресурсов вида j на выпуск одной единицы продукции вида i, которое обозначим через lij (i = 1,..., n; j = 1,...,М). Известно также tik — время загрузки одной единицы оборудования вида k изготовления одной единицы продукции вида i (i = 1,..., n; k = 1,..., N). Через mk обозначим количество единиц оборудования вида k (k=l,...,N).
При введенных обозначениях ограничения на объем потребляемых материально-сырьевых ресурсов могут быть заданы таким образом:
(j=1,…,M)(5)
Ограничения на производственные мощности задаются следующими неравенствами
k=1,…,N(6)
Кроме того, переменные
xi≥0 i=1,…,n (7)
Таким образом, задача выбора производственной программы, максимизирующей прибыль, заключается в выборе такого плана выпуск х = (х1...,хn), который удовлетворял бы ограничениям (5)-(7) и максимизировал бы функцию (4).
В некоторых случаях предприятие должно поставить заранее оговоренные объемы продукции Vt другим хозяйствующим субъектам и тогда в рассматриваемой модели вместо ограничения (1.7) может быть включено ограничение вида:
xt> Vt i= 1, ...,n.
Задача о диете. Рассмотрим задачу составления душевого рациона питания минимальной стоимости, которое бы содержало определенные питательные вещества в необходимых объемах. Будем предполагать, что имеется известный перечень продуктов из n наименований (хлеб, сахар, масло, молоко, мясо и т.д.), которые мы будем обозначать буквами F1,...,Fn. Кроме того, рассматриваются такие характеристики продуктов (питательные вещества), как белки, жиры, витамины, минеральные вещества и другие. Обозначим эти компоненты буквами N1,...,Nm. Предположим, что для каждого продукта Fi известно (i = 1,...,n) количественное содержание в одной единице продукта указанных выше компонент. В этом случае можно составить таблицу, содержащую характеристику продуктов:
F1,F2,…Fj…Fn
_____________
N1a11a12…a1j…a1N
N2a21a22…a2j…a2N
Niai1ai2…aij…aiN
Nmam1am2…amj…amN
Элементы этой таблицы образуют матрицу, имеющую m строк и n столбцов. Обозначим ее через A и назовем матрицей питательности. Предположим, что мы составили рацион х = (х1,x2,...,хn) на некоторый период (например, месяц). Иными словами, мы планируем каждому человеку на месяц х, единиц (килограммов) продукта F1,x2 единиц продукта F2 и т.д. Нетрудно вычислить, какое количество витаминов, жиров, белков и прочих питательных веществ получит человек за этот период. Например, компонента N1 присутствует в этом рационе в количестве
a11x1+ a12x2+…+ a1nxn
поскольку согласно условию в x1 единицах продукта F1 согласно матрице питательности содержится a11x1 единиц компоненты N1; к этому количеству добавляется порция а12x2 вещества N1 из х2 единиц продукта F2 и т.д. Аналогично можно определить и количество всех остальных веществ Ni в составляемом рационе (х1,..., хn).
Допустим, что имеются определенные физиологические требования, касающиеся необходимого количества питательных веществ в Ni (i/ = 1,..., N) в планируемый срок. Пусть эти требования заданы вектором b = (b1...,bn), i-я компонента которого bi указывает минимально необходимое содержание компонента Ni в рационе. Это означает, что коэффициенты xi вектора х должны удовлетворять следующей системе ограничений:
a11x1+ a12x2+…+ a1nxn≥b1
a21x1+ a22x2+…+ a2nxn≥b2 (8)
am1x1+ am2x2+…+ amnxn≥bm
Кроме того, из содержательного смысла задачи очевидно, что все переменные х1,...,хn неотрицательны и поэтому к ограничениям (8) добавляются еще неравенства
x1≥0; x2≥0;… xn≥0; (9)
Учитывая, что в большинстве случаев ограничениям (8) и (9) удовлетворяет бесконечно много рационов, выберем тот из них, стоимость которого минимальна.
Пусть цены на продукты F1,...,Fn равны соответственно с1,…,cn
Следовательно, стоимость всего рациона х = (х1..., хn) может быть записана в виде
c1x1+ c2x2+…+ cnxn→min (10)
Окончательно формулировка задачи о диете заключается в том, чтобы среди всех векторов х = (x1,...,хn) удовлетворяющих ограничениям (8) и (9) выбрать такой, для которого целевая функция (10) принимает минимальное значение.
Транспортная задача. Имеется m пунктов S1,..., Sm производства однородного продукта (угля, цемента, нефти и т.п.), при этом объем производства в пункте Si равен ai единиц. Произведенный продукт потребляется в пунктах Q1...Qn и потребность в нем в пункте Qj составляет kj единиц (j = 1,...,n). Требуется составить план перевозок из пунктов Si (i = 1,...,m) в пункты Qj(j = 1,..., n), чтобы удовлетворить потребности в продукте bj, минимизировав транспортные расходы.
Пусть стоимость перевозок одной единицы продукта из пункта Si в пункт Qi равна cij. Будем далее предполагать, что при перевозке хij единиц продукта из Si в Qj транспортные расходы равны cijxij.
Назовем планом перевозок набор чисел хij ci = 1,..., m; j = 1,..., n, удовлетворяющий ограничениям:
xij≥0, i=1,2,…,m; j=1,…,n (11)
Содержательный смысл уравнений (11) состоит в том, что из пункта Si при плане хij вывозится во все пункты Qj объем
, который должен быть равен запасу ai. В пункт Qj поступает из всех пунктов Si суммарное количество
продукта, которое в точности должно быть равно потребности bj.
При плане перевозок (хij) транспортные расходы составят величину
(12)
Окончательное формирование транспортной задачи таково: среди всех наборов чисел (хij), удовлетворяющих ограничениям (11), найти набор, минимизирующий (12).
2.2 Динамическое программирование
2.2.1 Модель динамического программирования
Динамическое программирование – метод оптимизации, приспособленный к операциям, в которых процесс принятия решений может быть разбит на отдельные этапы (шаги). Такие операции называют многошаговыми.
В основе метода динамического программирования лежит принцип оптимальности, сформулированный Беллманом. Этот принцип и идея включения конкретной задачи оптимизации в семейство аналогичных многошаговых задач приводят к рекуррентным соотношениям – функциональным уравнениям – относительно оптимального значения целевой функции. Их решение позволяет последовательно получить оптимальное управление для исходной задачи оптимизации.
Дадим общее описание модели динамического программирования.
Рассматривается управляемая система, которая под влиянием управления переходит из начального состояния
в конечное состояние
. Предположим, что процесс управления системой можно разбить на n шагов. Пусть
,
,…,
- состояния системы после первого, второго,…, n-го шага. Схематически это показано на рис. 1.
Состояние
системы после k-го шага (k=1,2,…,n) характеризуется параметрами
, которые называют фазовыми координатами. Состояние
можно изобразить точкой s-мерного пространства, называемого фазовым пространством. Последовательное преобразование системы (по шагам) достигается с помощью некоторых мероприятий
, которые составляют управление системой U=
,













