
Информатика 2 сессия / Численные методы решения задач строительства на ЭВМ
.pdf
Численные методы оптимизации
4. Область допустимых решений D содержит единственную точку. В этом случае не приходится говорить об оптимальном решении.
В случае n неизвестных (n ³ 3) все построения теряют наглядность. Однако геометрическая формулировка задачи в случае n неизвестных остается той же самой, что и в случае двух переменных. Различие состоит в том, что понятие «линия уровня» для n=2 заменяется понятием «плоскость уровня» для n=3 и «гиперплоскость» – для n > 3. Рассмотрим несколько примеров.
nПример 8.2. Минимизировать целевую функцию
zmin =1 − x − y |
(8.59) |
при ограничениях
x - y +1 ³ 0, |
|
|
3x + 2y - 6 ³ 0, |
(8.60) |
|
- 3x - y + 9 ³ 0, |
||
|
||
x ³ 0, y ³ 0. |
|
Строим полуплоскости, соответствующие каждому неравенству системы ограничений. Полуплоскость Р1 ограничена прямой x–y+1=0 и расположена «снизу» от этой прямой. Аналогично строим полуплоскости Р2 и. Р3. Пересечение полуплоскостей Р1, Р2, Р3 и x ³ 0, y ³ 0 дает
многоугольник D (рис.8.12).
|
y |
|
|
|
L2 |
L3 |
M(2,3) |
L1 |
|
|
|
|||
|
3 |
|
|
|
|
|
о |
|
|
|
|
п |
|
|
|
|
|
о |
|
|
2 |
|
р |
|
|
|
н |
|
|
|
|
а |
||
|
_ |
я |
||
|
|
|
п |
|
|
|
|
р |
|
|
|
D |
|
я |
|
|
|
м |
|
|
|
|
а |
|
|
1 |
|
я |
|
|
|
|
R |
|
|
|
|
|
|
|
|
|
|
= |
|
|
|
|
- |
|
|
|
|
4 |
-1 |
1 |
2 |
3 |
x |
|
|
R |
|
|
= |
|
R |
- |
|
1 |
|
R |
=0 |
|
= |
|
|
1 |
|
Рис.8.12. К примеру 8.2
293

Численные методы оптимизации
Записываем прямую линию уровня функции 1− x − y = R
и строим прямые, соответствующие R=–1, R=0 и R=1. Из рис.8.12 видно, что линию уровня нужно “катить” в сторону уменьшения значения R до встречи с точкой М (2,3) в которой функция цели принимает значение
Zmax= – 4.
Таким образом, решением задачи является: x=2, y=3, Zmax=– 4.
Решение данной задачи с использованием электронных таблиц Excel приведено в разделе 8.5.5.
nПример 8.3. Минимизировать целевую функцию
zmin = x − y |
(8.61) |
при ограничениях примера 8.2.
Область допустимых решений уже построена в предыдущем примере. Строим линии уровня
x − y = R для R=0 и R=–1.
Из рис.8.13 видно, что при перемещении линии уровня
соприкосновение с областью D произойдет по границе области.
Задача имеет бесконечно много решений и можно выбрать одно из них, исходя из физического смысла задачи.
|
|
|
|
|
|
|
|
|
|
|
y |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
= |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
R |
|
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
= |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
R |
|
|
|
|
|
|
|
|
|
|
|
3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
_ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
D |
|
|
|
|
|
|
|
|
|
|
|
|
|
я |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
а |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
м |
|
|
|
|
|
x |
|
|
|
|
|
|
|
|
я |
|
|
|
|
|
|
||
|
|
|
|
|
|
р |
|
|
|
|
|
|
|
||
|
|
|
|
|
|
п |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
я |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
а |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
н |
|
|
|
|
- 1 |
1 |
|
|
|
|
||
|
|
р |
|
|
|
|
|
2 |
3 |
|
|
||||
|
о |
|
|
|
|
|
|
|
|
||||||
п |
|
|
|
|
|
|
|
|
|
|
|
||||
о |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Рис.8.13. К примеру 8.3 |
|
|
294

Численные методы оптимизации
n Пример 8.4. Минимизировать функцию цели
Z min = -x .
Система ограничений имеет вид x + y -1 ³ 0,
x - y +1 ³ 0, - x + y +1 ³ 0, x ³ 0, y ³ 0.
(8.62)
(8.63)
Построим область допустимых решений, определяемую системой неравенств (8.63), аналогично примеру 8.2 (см. рис.8.14).
y |
|
|
L2 |
3 |
|
_ |
|
|
D |
L3 |
|
|
|
||
|
|
|
|
2 |
|
|
|
1 |
|
|
|
|
|
|
x |
-1 |
11 |
2 |
3 |
-1 |
|
|
1 |
|
|
|
L |
R=0 |
R=-1 |
R=-2 |
|
Рис.8.14. К примеру 8.4
Строим линии уровня –x=R для R=0, R=–1, R=–2. Очевидно, что
для всех RÎ[–¥,0] линии уровня пересекают область D . Следовательно,
функция цели не ограничена снизу, т.е. Z min = -¥ .
nПример 8.5. Рассмотрим предыдущую задачу на максимизацию, т.е. ограничения описываются системой (8.63), а функция цели имеет вид
zmax = −x . |
(8.64) |
Из рис.8.14 видно, что максимальное значение функция цели достигает в начале системы координат, т.е. решением задачи является x=0, y=0 и соответственно Zmax=0.
295

Численные методы оптимизации
8.3.4. Симплекс-метод решения задач линейного программирования
Обычный метод классического математического анализа для решения задач на условный экстремум не применим для решения
задач ЛП. Линейная форма (8.51), определенная в области D , достигает своего экстремума на границе (в вершинах) этой области, т.е. в точках , в которых частные производные могут быть отличны от нуля.
С другой стороны, поскольку экстремум функции цели (8.51) достигается в вершинах многоугольника, то, казалось бы,
достаточным вычислить значение функции цели во всех вершинах многоугольника, а затем найти ту из них, в которой функция достигает своего минимума или максимума. Но такой путь решения задач ЛП, даже с относительно небольшим числом ограничений и неизвестных параметров, практически неосуществим, т.к. процесс отыскания вершин весьма трудоемкий, а число вершин может оказаться астрономически большим.
Поэтому надо найти способ перехода от данной вершины к лучшей, а от нее – к еще лучшей. Кроме того, сюда же надо добавить какие-то условия существования оптимального решения для данной задачи.
В этом и заключается суть метода последовательного улучшения плана для решения задачи ЛП, который называется симплекс-методом [17, 23] и наиболее широко применяется в настоящее время.
Опишем идею симплекс-метода.
Пусть данная задача ЛП является задачей минимизации и имеет непустое множество допустимых решений (многогранная
область D с конечным числом вершин). Тогда каким-либо способом (они существуют) найдем какую-нибудь вершину
области D и все ребра, выходящие из этой вершины. Пойдем по одному из ребер, вдоль которого функция цели убывает. Достигаем следующей вершины, находим выходящие из нее ребра и повторяем процесс. Когда мы доберемся до вершины такой, что
296

Численные методы оптимизации
вдоль всех выходящих из нее ребер функция возрастает, то эта вершина и дает оптимальное решение, т.е в этой вершине и достигается минимум.
Поскольку функция цели линейна, а многогранник допустимых решений выпуклый, то этот процесс всегда сходится к решению задачи ЛП и сходится за конечное число шагов.
Реализация симплекс-метода унифицирована, все
вычисления проводятся с помощью специального вида таблиц (симплекс-таблиц). С другой стороны, метод хорошо
программируется и в настоящее время существуют всевозможные пакеты прикладных программ, включающие и реализацию симплекс-метода.
Широкое распространение электронных таблиц, таких, например, как Microsoft Excel, позволяет эффективно решать всевозможные задачи ЛП.
8.3.5. Применение моделей ЛП в задачах управления производством
Имеется много данных об успешном использовании моделей ЛП в различных задачах управления. Рассмотрим некоторые схемы таких задач.
Основной формой деятельности любого предприятия является производство тех или иных видов продукции. При этом в процессе производства предприятие потребляет (расходует) определенные виды ресурсов (труд, сырье, оборудование,
денежные средства, природные ресурсы и т.п.). Поскольку обычно размеры ресурсов ограничены, возникают определенные проблемы их рационального распределения.
Если предприятие выпускает продукцию нескольких видов с использованием одних и тех же ресурсов (например, оборудование, трудовые ресурсы), то администрация должна решить, какое количество продукции каждого вида следует производить.
Принятое решение будет направлено на удовлетворение определенной цели администрации (например, получить
максимальную прибыль или минимизировать затраты производства). Для удовлетворения этой цели администрация располагает управляющими переменными решения (например,
297

Численные методы оптимизации
количество продукции каждого вида, которое необходимо произвести за данный период времени).
Задача об оптимальном плане выпуска продукции
Постановка задачи Предприятие выпускает n видов продукции, на которую употребляет m видов сырья. Расход i -го вида сырья на единицу j -го вида продукции составляет aij единиц. Известно, что на каждой единице продукции j-го вида предприятие получает прибыль cj
Требуется определить, сколько единиц каждого вида продукции
должно изготовить предприятие (оптимальный план выпуска продукции), чтобы обеспечить максимальную прибыль. При этом следует учесть, что запасов сырья каждого ( i-го) вида имеется bi .
В качестве управляемых параметров в данной задаче можно взять объемы выпуска соответствующего вида продукции
X = (x1, x2 ,..., xn ) .
Математической моделью данной задачи является следующая задача линейного программирования:
найти максимум целевой функции (линейной формы):
|
n |
Zmax = c1x1 + c2 x2 +... |
+ cn xn = åci xi , |
при выполнении ограничений |
i =1 |
|
|
a11 x1 + a12 x2 + ......... |
+ a1n xn £ b1 , |
a21 x1 + a22 x2 + ......... |
+ a2n xn £ b2 , |
........................................................... |
|
am1 x1 + am2 x2 + ......... |
+ amn xn = bm |
иусловии неотрицательности переменных
xj ³ 0 j =1,2,L, n .
(8.64)
(8.65)
(8.66)
Решение такой задачи позволит руководителю определить оптимальные объемы выпуска, выявить те виды продукции, выпускать которые в данных условиях нецелесообразно, а возможно, и сделать вывод об изменении номенклатуры.
298

Численные методы оптимизации
n Пример 8.6. Построить математическую модель задачи планирования производства.
Цех производит два вида продукции (продукт1 и продукт2) стоимостью соответственно 5 у.е. и 5,5 у.е. (усл. единиц). На производстве действуют ограничения по ресурсам: сырье; трудовые затраты; транспортные расходы (аренда машины для вывоза продукции). Расход каждого ресурса на изготовление того и другого продукта, количество ресурса в распоряжении цеха приведены в таблице:
Используемые |
Расход ресурсов на |
Количество |
|
ресурсы |
изготовление |
ресурса |
|
|
продукта1 |
продукта2 |
в распоряжении |
|
|
|
цеха |
Сырье |
3 |
6 |
18 |
Трудовые затраты |
6 |
4 |
24 |
Транспортные |
2 |
1 |
не менее 2 |
расходы |
|
|
|
|
|
|
|
Стоимость продукта |
5 у.е. |
5,5 у.е. |
|
|
|
|
|
Рассчитать, какое количество каждого продукта нужно изготовить, чтобы прибыль была максимальной.
В качестве проектных параметров x1, x2 выберем оптимальные объемы производства обоих продуктов.
Тогда целевая функция запишется в виде
|
Zmax = 5 x1+ 5,5 x2. |
(8.64а) |
||||||
Ограничения записываем из условия ресурсов, которыми |
||||||||
располагает цех. |
|
|
|
|
|
|
|
|
ì3x |
+ 6x |
|
£18 |
- |
потребность в сырье, |
|
||
ï |
1 |
|
|
2 |
|
|
трудовые ресурсы, . |
(8.65а) |
í6x1 + 4x2 £ 24 - |
||||||||
ï2x |
+ x |
2 |
³ 2 |
- |
транспортные расходы, |
|
||
î |
1 |
|
|
|
|
|
|
|
|
|
|
|
x1 ³ 0, |
x2 |
³ 0 . |
(8.66а) |
Решение задачи с использованием электронных таблиц Excel получено в подразделе 8.5.
299

Численные методы оптимизации
Задача об оптимальном раскрое материалов (о минимизации отходов)
В строительном деле достаточно часто приходится решать проблему раскроя полуфабрикатов или минимизации отходов производства.
Постановка задачи. Из имеющихся заготовок в виде досок длиной D каждая требуется получить bi частей длиной Li (i=1,2,…,m). Имеется несколько вариантов раскроя Vj (j=1,2,…,n) каждой доски L (план раскроя).
При каждом j-м варианте раскроя получается aij частей длиной lj. (При этом a1 j l1 + a2 j l2 + ... + amj lm £ D . Это условие, наложенное
на коэффициенты, содержится в определении «вариант раскроя» и не является условием оптимизации).
Требуется так распилить доски, чтобы было как можно меньше отходов, или требуемое количество частей должно быть получено из минимального количества заготовок.
В качестве независимых параметров выбираем xj – число досок (заготовок), которое намечено распилить согласно j-му варианту.
Запись математической модели задачи:
минимизировать
n |
|
Zmin (X ) = x1 + x2 + ... + xn = åx j |
(8.67) |
j=1
при ограничениях:
a11 x1 + a12 x2 + ... + a1n xn ³ b1 , a21 x1 + a22 x2 + ... + a2n xn ³ b2 ,
............................................
am1 x1 + am2 x2 + ... + amn xn ³ bm , x j ³ 0 при j=1,2,…,n.
(8.68)
(8.69)
Задачи об оптимальном раскрое довольно разнообразны и в качестве примера рассмотрим еще один вариант такой задачи.
300

Численные методы оптимизации
nПример 8.7. При серийном производстве некоторого изделия из полос проката длиной 5000мм необходимо вырезать 3 вида заготовок.
Номер, длина и количество заготовок: №1 длина 1655мм, 1шт.
№2 длина 1050мм, 5шт. №3 длина 210мм, 1шт.
Требуется составить оптимальный план раскроя, чтобы получить комплект заготовок для 12 изделий и израсходовать при этом минимальное количество полос.
|
Решение |
|
|
|
|
|
|
|
|
|
Оптимизацию будем производить, исходя из минимальных |
||||||||
отходов полос проката при их раскрое. |
|
|
|
||||||
1) |
Составим таблицу-карту раскроя: |
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
Cпособ |
Количество заготовок |
|
Полезно |
Длина |
Количе |
|||
|
раскроя |
|
длиной (мм) |
|
используемая |
отходов |
ство |
||
|
|
|
|
|
|
|
длина (мм) |
(мм) |
полос |
|
|
|
|
|
|
|
|
|
|
|
|
1655 |
|
1050 |
210 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
3 |
|
0 |
0 |
|
4965 |
35 |
x1 |
|
2 |
2 |
|
1 |
1 |
|
4570 |
430 |
x2 |
|
3 |
1 |
|
3 |
0 |
|
4805 |
195 |
x3 |
|
4 |
0 |
|
4 |
1 |
|
4410 |
590 |
x4 |
|
Таким образом, получилось четыре способа раскроя полос. |
|
|||||||
2) |
В качестве проектных |
параметров возьмем: |
xi – количество |
||||||
|
прокатных полос, раскроенных i-способом. |
|
|
3)Определим длину отходов при каждом способе раскроя.
4)В качестве функции цели примем суммарную длину отходов, которая должна быть минимальной:
Zmin = 35x1 + 430x2 + 195x3 + 590x4.
5) Запишем ограничения. Для 12 изделий необходимо заготовок:
№1 – 12 шт. №2 – 12 × 5 шт.; №3 – 12 шт.
Ограничения записываем исходя из условий, что количество заготовок для 12 изделий должно быть не меньше соответственно 12, 60, 12:
301

|
Численные методы оптимизации |
||
3x1 + 2x 2 + x3 + 0× x4 |
³ 12ü |
|
|
0×x1 + x2 + 3x3 + 4x 4 |
ï |
|
|
³ 60ï |
по количеству заготовок |
||
x 2 + x4 |
³ 12 |
ý |
|
ï |
|
||
xi ³ 0, |
i = 1,2,3,4 |
ï |
|
þ |
|
Задача о планировании смен на предприятии
Полученная математическая модель задачи об оптимальном раскрое материалов (8.67) – (8.69) может быть использована также при решении задач о планировании смен на предприятии.
Только в этом случае содержательный смысл параметров будет другой, а именно:
Vj (j=1,2,…,n) – возможные в течение дня смены; Li (i=1,2,…,m) – определенное время дня.
аij=1, если Vj предусматривает работу во время Li, в противном случае аij=0;
bi – число работников, требующихся в момент времени Li; xj – количество работников смены Vj.
При планировании строительства производственных, социальных и др. объектов всегда стоит задача правильного их размещения, то есть возникает так называемая задача о покрытии.
Эта задача является частным случаем рассмотренных выше задач о раскрое и планировании (в ней bi=1; aij {0,1} ).
Задача о покрытии местности при строительстве объектов
Постановка задачи. Для строительства гидроэлектростанций могут быть использованы пять мест Vj (j=1,2,…,5). Каждая ГЭС Vj могла бы обслужить (аij=1) или не обслужить (аij=0) некоторые из четырех регионов Li (i=1,2,…,4). После сооружения минимального количества электростанций каждый из четырех регионов должен быть «покрыт» хотя бы один раз.
Заданы расходы в у.е. на строительство Vj-ой ГЭС равные Cj (j=1,2,…,5). Найти наиболее дешевое «покрытие» всех регионов.
302