книги / Численные методы решения задач строительства. Ч. 1
.pdfПример 6.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. |
(6.19) |
Ограничения записываем из условия ресурсов, которыми располагает цех.
3x |
6x |
|
18 |
потребность в сырье, |
|
|
|
1 |
2 |
24 |
трудовые ресурсы, |
|
|
6x1 |
4x2 |
(6.20) |
||||
2x |
x |
|
2 транспортные расходы, |
|||
|
1 |
2 |
|
|
|
|
x |
0, |
x 0. |
|
|||
1 |
|
|
|
2 |
|
|
Решение задачи с использованием электронных таблиц Excel приведено в подразд. 6.5.
141
6.4.2. Задача об оптимальном раскрое материалов (о минимизации отходов)
В строительном деле достаточно часто приходится решать проблему раскроя полуфабрикатов или минимизации отходов производства.
Постановка задачи. Из имеющихся заготовок в виде досок длиной D каждая требуется получить bi частей длиной Li (i = 1,2,…,m). Имеется несколько вариантов раскроя
Vj (j = 1,2,…,n) каждой доски L (план раскроя).
При каждом j-м варианте раскроя получается aij частей длиной lj. (При этом a1 jl1 a2 jl2 amjlm D . Это условие, на-
ложенное на коэффициенты, содержится в определении «вариант раскроя» и не является условием оптимизации).
Требуется так распилить доски, чтобы было как можно меньше отходов или требуемое количество частей могло быть получено из минимального количества заготовок.
В качестве независимых параметров выбираем xj – количество досок (заготовок), распиленное по j-му варианту.
Оптимизацию будем проводить исходя из минимально-
го количества распиленных заготовок.
Математическая модель задачи имеет следующий вид: минимизировать целевую функцию:
|
|
|
|
|
|
n |
|
|
Zmin (X ) x1 |
x2 |
xn xj |
(6.21) |
|||||
|
|
|
|
|
|
j 1 |
|
|
при ограничениях |
|
|
|
|
|
|
||
a11x1 a12 x2 a1n xn b1, |
|
|
||||||
a x a x a x b , |
|
|
||||||
|
|
21 1 |
22 |
2 |
2n n |
2 |
|
|
|
|
|
|
|
|
|
|
(6.22) |
.. |
||||||||
a |
|
x a |
m2 |
x a x b |
, |
|
||
|
m1 1 |
2 |
mn n |
m |
|
|
||
x |
j |
0, |
j 1, 2, , n. |
|
|
|
||
|
|
|
|
|
|
|
|
142
Задачи об оптимальном раскрое довольно разнообразны, и в качестве примера рассмотрим еще один вариант такой задачи.
Пример 6.7. При серийном производстве некоторого изделия из полос проката длиной 5000 мм необходимо вырезать 3 вида заготовок. Номер, длина и количество заготовок:
№1 длина 1655 мм, 1 шт.;
№2 длина 1050 мм, 5 шт.;
№3 длина 210 мм, 1 шт.
Требуется составить оптимальный план раскроя, чтобы получить комплект заготовок для 12 изделий и израсхо-
довать при этом минимальное количество полос.
Решение
Оптимизацию будем производить исходя из минимальных отходов полос проката при их раскрое.
1. Составим таблицу – карту раскроя:
Cпособ |
Количество заготовок |
Полезно |
Длина |
Количе- |
||
раскроя |
длиной (мм) |
используе- |
отходов |
ство |
||
|
1655 |
1050 |
210 |
мая |
(мм) |
полос |
|
3 |
|
|
длина (мм) |
|
|
1 |
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 изделий необходимо заготовок:
143
№ 1 – 12 шт.; № 2 – 12 × 5 шт.; № 3 – 12 шт.
Ограничения записываем исходя из условий, что количество заготовок для 12 изделий должно быть не меньше соответственно 12, 60, 12:
3x1 2x2 |
x3 0 x4 |
12, |
|
|
0 x1 x2 |
3x3 4x4 |
|
|
|
60, |
по количеству заготовок |
|||
x2 x4 |
12, |
|
||
|
|
|||
xi 0, |
i 1, 2,3, 4. |
|
|
|
|
|
6.4.3. Задача о планировании смен на предприятии
Полученная ММ задача об оптимальном раскрое материалов (6.21)–(6.22) может быть использована также при решении задач о планировании смен на предприятии.
Только в этом случае содержательный смысл параметров будет другой, а именно:
Vj (j = 1, 2, …, n) – возможные в течение дня смены; Li (I = 1, 2, …, m) – определенное время дня;
аij = 1, если Vj предусматривает работу во время Li, в противном случае аij = 0;
bi – числоработников, требующихсявмоментвремениLi; xj – количество работников смены Vj.
6.4.4. Задача о покрытии местности при строительстве объектов
При планировании строительства производственных, социальных и других объектов всегда стоит задача правильного их размещения, то есть возникает так называемая задача о покрытии. Эта задача является частным случаем рассмотренных выше задач о раскрое и планировании
(в ней bi = 1; aij {0,1}).
144
Постановка задачи. Для строительства гидроэлектростанций могут быть использованы пять мест Vj (j = 1,2,…,5). Каждая ГЭС Vj могла бы обслужить (аij = 1) или не обслужить (аij = 0) некоторые из четырех регионов Li (i = 1, 2, …, 4). Заданы расходы на строительство каждой ГЭС Vj, равное Сj (у.е.).
После сооружения минимального количества электростанций каждый из четырех регионов должен быть «покрыт» хотя бы один раз.
Найти наиболее дешевое «покрытие» всех регионов.
В качестве управляемых переменных примем xj (j = 1, 2, …, 5), причем xj = 1, если в месте Vj построена ГЭС, и xj = 0 – в противном случае.
Математическая модель задачи получается такая же, как и в задаче оптимального раскроя (6.21)–(6.22), но с условием, что bi = 1 (i = 1, 2, …, 4), и с дополнительным ус-
ловием «xj = 0 или xj = 1» при j = 1, 2, …, 5.
Возможны следующие варианты задачи:
1. Заданы расходы на строительство Vj, равные сj, и ищется наиболее дешевое «покрытие» всех местностей. Целевая функция в этом случае имеет вид
Zmin c1x1 c2 x2 c5 x5.
2. Можно потребовать также k-кратное покрытие. В этом случае bi = k.
6.4.5. Транспортная задача
Это еще одна типичная и очень важная задача линейного программирования.
Постановка задачи. В n пунктах отправления (склады, заводы и т.п.) A1, A2, ..., An имеется (или производится) некоторый однородный продукт в количествах a1, a2, ..., an. Необходимо доставить этот продукт в m пунктов назначения B1, B2,.., Bm в количествах b1, b2, ..., bm.
Стоимость перевозки единицы груза из пункта Ai в пункт Bj равна cij. Заметим, что стоимость – это условное понятие, которое можетозначать расстояние, тариф, расход топлива, время ит.д.
145
Количество перевозимого груза из пункта Ai в пункт Bj обо-
значим через xij (i = 1, 2, ..., n; j = 1, 2, ..., m).
Задача заключается в определении таких величин xij, при которых стоимость перевозок будет минимальной.
Условия задачи можно записать компактно в виде таблицы (двойной матрицы):
Bj |
b1 |
|
b2 |
|
… |
bm |
Ai |
|
|
|
|
|
c1m |
a1 |
|
c11 |
|
c12 |
….. |
|
|
x11 |
|
x12 |
|
|
x1m |
a2 |
|
c21 |
|
c22 |
….. |
c2m |
|
x21 |
|
x22 |
|
|
x2m |
… |
… |
|
… |
|
… |
…. |
an |
xn1 |
cn1 |
xn2 |
cn2 |
… |
cnm |
|
|
|
|
xnm |
Cовокупность m n чисел xij, т.е. матрицу Х = [xij], бу-
дем называть матрицей перевозок или планом перевозки, а матрицу С = [cij] – матрицей транспортных издержек (затрат).
Сформулируем математическую модель транс-
портной задачи.
Транспортная задача заключается в отыскании среди допустимых планов оптимального, т.е. такого, по которому общая стоимость перевозок будет минимальна, т.е
m |
n |
|
Zmin cij xij . |
(6.23) |
|
i 1 |
j 1 |
|
План является допустимым, если числа xij удовлетворяют следующим естественным ограничениям:
. |
xi1 xi2 xin ai |
(i 1, 2, , m), . (6.24) |
|
x1 j x2 j xmj bi |
( j 1, 2, , n). |
146
Поскольку грузы предполагается перевозить только в одном направлении – из пунктов отправления в пункты назначения, то на переменные накладываются условия неотрицательности переменных:
xij 0 |
i 1, 2, , m; |
j 1, 2, , n , |
(6.25) |
в которых первые m равенств означают, что из каждого пункта производства Ai вывозится весь произведенный продукт. Последние n равенства означают, что каждый пункт потребления полностью удовлетворяется.
Транспортную задачу в приведенной формулировке
(6.23)–(6.25) называют закрытой (или замкнутой) транспортной задачей, в отличие от открытой, в которой
n |
m |
|
ai bj . |
(6.26) |
|
i 1 |
j 1 |
|
Пример 6.8. Построить математическую модель транспортной задачи.
На трех цементных заводах производится цемент одной и той же марки в количествах соответственно 100, 130, 170 тонн. Цемент следует доставить на четыре ЖБК, потребляющих его соответственно в количествах 150, 120, 80, 50 тонн. Стоимости (у.е.) перевозок одной тонны продукта с i-го (i = 1, 2, 3) завода на j-й (j = 1, 2, 3, 4) ЖБК приведены в таблице. Спланировать перевозки так, чтобы их стоимость была минимальной. Условия задачи записываем в виде таблицы.
Проектные параметры: xij – количество (т) продук-
та, перевозимого с i-го (i = 1, 2, 3) завода на j-й (j = 1, 2, 3, 4) ЖБК.
Тогда целевая функция (общая стоимость перевозок) имеетвид
Zmin = 3x11 + 5x12 + 7х13 + 11х14 + x21 + 4x22 +
+ 6x23 + 3x24 + 5x31 + 8x32 + 12x33 + 7x34.
147
Цементные |
Стоимость перевозки (у.е.) |
|
Объем |
||||
заводы |
|
|
|
|
Количество |
производ- |
|
|
|
|
|
перевозимого продукта (т) |
ства (т) |
||
|
ЖБК-1 |
|
ЖБК-2 |
ЖБК-3 |
ЖБК-4 |
|
|
|
3 |
|
5 |
|
7 |
11 |
|
№1 |
|
x11 |
|
x12 |
x13 |
x14 |
100 |
|
1 |
|
4 |
|
6 |
3 |
|
№2 |
|
x21 |
|
x22 |
x23 |
x24 |
130 |
|
5 |
|
8 |
|
12 |
7 |
|
№3 |
|
x31 |
|
x32 |
x33 |
x34 |
170 |
Объем |
|
150 |
|
120 |
80 |
50 |
|
потребления |
|
|
|
Ограничения записываем из условия, что вывозится весь произведенный на каждом заводе цемент (первые три) и что каждый ЖБК полностью обеспечивается цементом:
x11 + x12 + х13 + х14 = 150, x21 + x22 + x23 + x24 = 130,
x31 + x32.+ x33 + x34 = 170, x11 + x21 + х31 = 150, x12 + x22 + x32 = 120, x13 + x23.+ x33 = 80, x14 + x24.+ x34 = 50,
xij 0 (i = 1, 2, 3; j = 1, 2, 3, 4).
Решение данной транспортной задачи с использованием приложения Microsoft Excel приведено в подразд. 6.5.
6.4.6. Задача о назначениях (проблема выбора)
Постановка задачи. В распоряжении имеется n механизмов (бригад) и n различных видов работ. Производительность каждого механизма на различных работах, вообще говоря, различна. Обозначим через cij (i, j = 1, 2, ..., n) производительность i-го механизма на j-й работе. Матрица C = [cij] называется матрицей эффективностей или производительностей.
148
Требуется так распределить n механизмов на n работах, чтобы каждый механизм выполнял одну и только одну работу и чтобы при заданной производительности каждого механизма на каждой из работ суммарный эффект был бы максимальным.
Эта задача является частным случаем транспортной задачи.
Обозначим через xij переменную, равную единице, если i-й механизм назначен на j-ю работу, и равен нулю, если он на эту работу не назначен. В качестве целевой функции выбираем суммарнуюпроизводительность всех механизмов:
n |
n |
|
Zmax cij xij . |
(6.27) |
|
i 1 |
j 1 |
|
Ограничения записываем из условия, что каждый механизм выполняет одну работу и что каждая работа обеспечивается одним механизмом:
xi1 xi 2 xin 1 |
(i 1, 2, |
, n), |
(6.28) |
|
x1 j x2 j xnj 1 |
( j 1, 2, , n). |
|||
|
Пример 6.9. Задача о назначениях. Имеются три бригады В1, В2, В3, каждая из которых может быть использована на каждой из 3 строительных площадок с производительностью (в усл. ед.), заданной в таблице:
Строительная |
Производительность бригад (у.е.) |
||
площадка |
В1 |
В2 |
В3 |
1 |
1 |
2 |
3 |
2 |
2 |
4 |
1 |
3 |
3 |
1 |
5 |
Требуется распределить бригады по одной на каждую строительную площадку так, чтобы суммарная производительность всех бригад была максимальной.
149
Обозначим xij = 1, если на i-ю стройплощадку назначена j-я бригада, и xij = 0, если она на эту стройплощадку не назначена.
В качестве функции цели возьмем суммарную производительность всех бригад:
Zmax = x11 + 2x12 + 3х13 + 2x21 + 4x22 + x23 + 3x31 + x32.+ 5x33.
Систему ограничений запишем из условий, что каждая бригада выполняет работу на одной определенной стройплощадке и что каждая площадка обеспечена одной бригадой рабочих:
а) |
xi1 xi2 xi3 1 0, |
i 1, 2, 3; |
б) |
x1 j x2 j x3 j 1 0, |
j 1, 2, 3; |
в) xij 0.
6.5.Решение задач оптимизации
спомощью MS Excel
Решение задач оптимизации в Microsoft Excel производится с помощью надстройки «Поиск решения».
При поиске оптимального решения задачи можно изменять условия и варианты поиска решения, используя диалоговое окно «Параметры поиска решения». Пользователь при этом может сам выбрать алгоритм оптимизации.
При этом принципы построения схемы задачи в таблице Excel и ее решения практически совпадают как для линейного, так и для нелинейного программирования.
Рассмотрим процесс решения задач оптимизации на примерах двух задач: задачи планирования производства и транспортной задачи, используя возможности таблиц Excel.
6.5.1. Решение задачи планирования производства
Рассмотрим задачу, приведенную в примере 6.2. Математическая модель этой задачи, как описано вы-
ше, имеет вид
150