Файл: Шепелев, И. Г. Математические методы планирования и управления в строительстве конспект лекций.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