Файл: Шепелев, И. Г. Математические методы планирования и управления в строительстве конспект лекций.pdf
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 29.10.2024
Просмотров: 63
Скачиваний: 0
d[ — капиталовложения, необходимые для строительства каж
дого предприятия по каждому варианту; К — лимит капиталовложений.
n |
m |
R |
( 6.2.6) |
У У V сп х \\ ~ min |
|||
i |
j |
Г |
|
при ограничениях |
|
|
|
|
i |
г |
(6.2.7) |
|
|
||
|
|
<к |
( 6.2.8) |
|
|
|
(6.2.9) |
|
|
2 х \ = *■ |
(6.2. 10) |
Наиболее интересными |
здесь являются |
ограничения (6.2.9) |
и (6.2.10). Ограничение (6.2.9) означает, что вариант включает ся целиком или не включается совсем. Ограничение (6.2.10) оз начает единственность включения варианта, т. е. если один ва риант включен в план, то другие варианты не должны быть включены.
Задача № 4, с разрывной целевой функцией. (Транспортная
задача с фиксированными доплатами). |
|
строительного |
||||
Пусть i = |
1, 2, 3,.... п — пункты производства |
|||||
щебня; |
1 , 2 , 3,..., m — строительные объекты, на которых потреб |
|||||
j = |
||||||
ляется |
щебень; |
|
|
|
|
|
а\ — объем |
производства в пункте производства i; |
|
||||
bj — объем потребления в пункте потребления j; |
|
|||||
Хц — объем перевозок из пункта i в пункт j; |
из |
i в j; |
|
|||
Cij — затраты |
на перевозку единицы груза |
пере |
||||
dij — разовые |
затраты, зависящие только |
от |
наличия |
|||
возок из i в j и не зависящие от объема этих перевозок. |
На |
пример, арендная плата за погрузочное оборудование, не зави
сящая |
от объемов, |
затраты |
на подъездные пути, оборудование |
|||||
погрузочных площадок, диспетчеризацию и др. |
|
|||||||
Целевая функция задачи имеет вид |
|
|||||||
|
|
|
n |
m |
|
|
|
(6 .2 .1 1 ) |
|
|
|
2 2 с р (-* )-т ш , |
|||||
|
|
|
I |
j |
|
|
|
|
где |
. ч |
|
( |
0 , |
если |
x,i = 0 |
/с о ю\ |
|
сцСх) = |
I |
|
, |
, |
J |
(6 .2 .1 2 ) |
||
|
|
|
c,j Хц + dij, |
если х п > |
0 |
|||
|
4 И. Ш епелев |
|
|
|
|
|
|
81 |
п р и о г р а н и ч е н и я х |
|
|
|
|
2 |
Х ц |
= |
b i |
(6,2.13) |
i |
|
|
|
|
ш |
|
|
(6.2.14) |
|
2 |
|
^ а ь |
||
i |
|
> о. |
|
|
|
х ц |
|
||
В связи с разрывом функции |
(6.2.12) |
в точке 0, эта задача, |
||
по смыслу и формулировке |
созвучная транспортной задаче ли |
нейного программирования не может быть решена методом ли нейного программирования.
Поставленная здесь задача с разрывной целевой функцией может быть преобразована в задачу целочисленного програм мирования. Для этого вводят дополнительные переменные г/у, и целевую функцию (6 .2 .1 1 ) приводят к виду
n |
m |
|
|
|
|
|
2 1 ] ( си*и + d'j yij) = min, |
(6.2.15) |
|||||
i |
i |
|
|
|
|
|
при этом вводится дополнительное ограничение |
|
|||||
У = |
0 при X,, = О |
|
(6.2.16) |
|||
1 |
при Хц < Му Y]j, |
|||||
|
|
|||||
если г/у = 0, то и Ху = 0, |
а |
если г/у = |
1, то Ху гС Му, |
Му выби |
||
рается так, что |
Му = |
max {ар, |
|
(6.2.17) |
||
|
b y ) . |
Дальше решать эту задачу можно как частично целочислен ную. Но матрица модели очень быстро увеличивается и решение при значительных п и т вряд ли достижимо. Поэтому полага ют, что
•*11 = М ц У у ,
отсюда у,-= — тогда целевая функция примет вид
■УП Му
S CliXil + d« “ S S (CiJ+ |
Xl] = min (6-2Л8) |
и ее решают как обычную задачу линейного программирова ния. Существуют специальные методы приближенного решения задачи № 4, например, метод Балинского i[7], который не тре бует приведения задачи к целочисленной.
82
§ 6.3. Методы решения задач дискретного программирования
В предыдущих параграфах этой главы был показан широ кий класс задач дискретного программирования, имеющий ме сто в планировании и управлении строительством. Однако сколько-нибудь широко известных, признанных и надежных методов решения задач этого класса нет. В монографии [7] дано достаточно полное изложение некоторых методов решения с теоретическими доказательствами сходимости этих методов. Здесь приведены только классификация методов и описание не которых из них.
Существует ряд приемов, существенно отличающихся один от другого, для реализации которых разработаны специальные алгоритмы. Задачи типа № 2 решаются методами линейного программирования. Если при этом подобного рода задачу уда ется свести к транспортной, то получают целочисленное опти мальное решение. При любых целых значениях коэффициентов и свободных членов в ограничениях транспортная задача, ре шаемая распределительным методом, всегда имеет целочислен ный оптимальный план. Это можно доказать следующим рас суждением: опорный базисный план транспортной задачи явля ется целочисленным, так как все коэффициенты в ограничениях целые числа, при переходе от одного опорного плана к другому
целочисленность сохраняется, так как при этом нет |
операции |
деления. |
|
При решении задач типа № 3 обычно делают допущение, за |
|
меняя ограничение (6.2.9) ограничением 0 ■<л:]) <; 1. |
При этом |
получают нецелочисленное решение, которое после округляют до целых чисел. Также тривиально иногда поступают и при решении задачи типа № 1 и № 2 , причем в задаче № 1 получен ные результаты, отличные от целых чисел, заданных ограниче нием, оставляют в оптимальном плане. Такое нарушение целочисленности часто оправдывается тем, что за получение целочис
ленного |
решения приходится платить |
слишком дорогой |
ценой как |
с возрастанием вычислительных |
трудностей, так и |
в связи с потерей оптимальности функционала. Так автор ,[4] утверждает: «Не боясь парадоксов, скажу, что потери от нецелочисленности могут быть меньше, чем потери от достижения целочисленного результата», подразумевая под последним умень шение значения функционала в целочисленном оптимальном плане.
С таким утверждением согласиться нельзя, ибо выгода от лучшего значения функционала при нецелочисленном плане ил
4* |
83 |
|
люзорна, так как в дальнейшем при реализации плана целочис ленные факторы так или иначе проявят себя и фактический ущерб будет много больше того бумажного преимущества в ве личине функционала, которое достигается при нецелочисленном плане.
Еще хуже, если на практике нарушаются условия целочис ленное™ в строительстве, что, как говорилось выше, ведет к ро
сту незавершенного |
строительства к экономическим потерям |
для государства и строительной организации. |
|
Метод простого |
округления нельзя назвать методом цело |
численного программирования.
Более корректными методами являются методы, основанные на принципах отсечения нецелочисленных решений и методы с применением комбинаторики. Наибольшее распространение по лучили методы отсечения Гомори и методы «ветвей и границ». При решении ряда задач применяются приближенные методы решения целочисленных задач.
§6.4. Принцип метода отсечения
ипервый алгоритм Гомори
Сущность метода отсечения заключается в том, что в цело численной задаче линейного программирования вначале полу чают обычное оптимальное решение. Если оптимальный план будет целочисленным, то задача решена. Если в оптимальном плане имеются нецелочисленные переменные, которые по усло виям задачи должны быть целочисленными, то производится правильное отсечение нецелочисленной части решения. Кратко рассмотрим алгоритм Гомори в изложении ([7]. Иллюстрацион ный пример взят из этого же источника.
В соответствии с первым алгоритмом Гомори отсечение не целочисленной части решения заключается в следующем: после получения нецелочисленного ответа в таблицу, представляю щую оптимальный план линейного программирования, вписы вается дополнительная строка. Эта строка формируется в соот ветствии с формулой
уп+1 = — Т О ' + 2 ( - К .}) |
(6.4.1) |
Вфигурных скобках записана дробная часть чисел таблицы. Практически получается так, что, получив оптимальный план,
выбирают одну из строк с нецелочисленным решением, ставят задачу заменить эту строку целочисленной, для чего вписывают в таблицу дополнительную строку, клетки которой заполняют ся в соответствии с формулой (6.4.1). Если в выбранной строке
84
имеется положительное не целое число (из-за чего и решается задача отсечения), то элемент дополнительной строки принима ется равным дробной части числа с отрицательным знаком. Е о ли на пересечении столбца и выбранной строки находится целое число или нуль, то в дополнительную строку вписывается нуль. Если на пересечении столбца и выбранной строки находится отрицательное нецелое число, то элемент дополнительной стро-
Задача разрешима
Рис. 12. Блок-схема первого алгоритма Гомери
85
ки имеет отрицательный знак и по абсолютной величине пред ставляет собой правильную дробь, являющуюся дополнением дроби в выбранной строке до единицы. Дополнительную стро ку вписывают в симплекс-таблицу, причем получают неопти мальный план, так как имеется отрицательное значение базис ной переменной.
Далее эту таблицу оптимизируют. Из оптимального плана выбывает в первой итерации дополнительная строка, а выбран ная строка становится целочисленной, но первое решение не обязательно будет оптимальным. Необходимо провести столько преобразований, сколько нужно для получения оптимального плана. Если в этом плане имеются нецелочисленные перемен ные, выбираем новую строку, к которой строим правильное от сечение согласно формуле (6.4.1), оптимизируем полученную таблицу и т. д. Блок-схема первого алгоритма Гомори приведе на на рис. 1 2 .
Решение задачи целочисленного программирования методом
отсечения можно представить графически. |
|
|||
Если имеется задача |
|
|
|
(6.4.2) |
Х1+ Х2 |
= min |
|||
при ограничениях |
11 |
Хо ■< 38 |
(6.4.3) |
|
2 Xi + |
||||
Х\ -I- х 2^ |
7 |
. (6.4,4) |
||
4 х г — 5 х 2 < 5 |
(6А5) |
|||
х | |
Oj |
х 2 |
Oj |
|
x t и х 2— целые |
числа, |
|
то можно построить геометрическую схему ее решения, изобра женную на рис. 13. Предельные линии ограничений (6.4.3) и (6.4.5) образуют выпуклый многоугольник, на гранях которого и следует искать оптимальное значение Х\ и Хг. На рисунке видно, что решению соответствует линия
x t х 2 = 7
или |
' |
x t = 44/9; х 2 = 25/э. |
Как видим, получены нецелочисленные решения. Если ок руглить значения Xj и.хг до целых чисел, то эти «псевдооптимальные» ответы не будут соответствовать ограничениям зада чи. Допустим, путем простого отбрасывания дробной части мы округлили Х\ и х2 и получили Х\ — 4 и Х2 = 2, т. е. точка 4—2 не лежит внутри зоны допустимых значений переменных. Если
86