Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Исследование операций и методы оптимизации

..pdf
Скачиваний:
8
Добавлен:
05.02.2023
Размер:
13.8 Mб
Скачать

Результат указанных операций для представленного в таблице 4.14 рас-

ределения поставок показан в таблице 4.15. Суммарные затраты на перевозки

по этому плану составляют

 

 

 

 

 

 

 

 

 

 

 

что значительно меньше предыдущей суммы затрат 1170, хотя план перевозок

в таблице 4.15 еще не

 

 

оптимальным. Об этом свидетельствует наличие

отрицательных

 

являетсяматрице оценок клеток этого плана (соответствую-

 

f (X ) =

+ +

+

 

+ +

 

=

 

 

 

щие потенциалызначенийнайдены способом, изложенным при описании этапа 2):

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

задачи,

базисном плане перевозок которых имеют место

занятыеТранспортныеклетки нулевой поставкой

(или

первоначальном распределении, или

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

в процессе

 

 

 

 

d =

 

 

 

 

 

 

 

вырожденной

итераций), назы аются

вырожденными. В

 

 

 

 

 

 

 

 

 

 

 

 

случает. . бесконечного

транспортной задачи

существует

пасность

 

 

 

 

итераций

(бесконечного

переборазацикливания,одн тех же базисных комби

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

повторенияций занятых клеток). Как правило, в практиче ких задачах транспортного ти-

па зацикливание не встречается; тем не менее следует знать, что существуют

специальные правила, позволяющие выйти из цикла, если зациклива

все же

произ йдет. При отсутствии вырождения метод

 

алов

конечение приво-

дит к оптимальному

плану перевозок за конечноепотенцичисл шагов.

 

 

4.5 Открытая модель транспортной задачи

 

 

 

 

 

 

Если суммарная мощность поставщиков не равна суммарной мощности

потребителей

если нарушается условие

=

, то имеем открытую

 

 

 

 

 

 

 

 

 

m

n

 

 

 

 

 

модель транспортной задачи. Открытая транспортная задача решается сведени-

 

 

 

 

 

 

 

 

 

i=1

j=1

 

 

 

 

ем ее к закрытой транспортной задаче [1].

 

 

·······················

·······················

 

 

 

Пример 4.5

Найти оптимальное распределение поставок для транспортной задачи,

представленной в таблице

4.16.

 

 

 

 

 

 

 

 

 

 

В данном случае суммарный спрос потребителей больше, чем суммарная

мощность

поставщиков

(

+

+ +

=

>

+

 

+

=

).

Введем

«фиктивного поставщика» и в таблицу поставок добавим допол ительную

строку (табл. 4.17) так, чтобы задача ст ла закрытой. Для этого мощность

фик

ивного поставщика следует принять

равной

=

 

.

Коэффициенты за-

трат

этой добавленной строки определяются

 

 

 

 

 

и

ввиду недогрузки

мощностей потребителей. Если

 

 

 

 

об

издержкамэтих ержках

 

то

их принимают равными од омуинформациятому же числу

 

 

 

 

ер, нулю,отсутствует,как табли

це 4.17). Конкретное значение этого числа не влияет(напримоптимальное распреде-

ление поставок.

Таблица 4.16 – Исходные данные

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Мощности потребителей

 

 

 

 

 

 

 

 

 

Мощности

 

 

 

 

 

 

 

 

35

 

55

 

 

 

 

 

 

 

 

 

 

 

 

поставщиков

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

45

 

 

 

1

 

2

 

 

 

 

65

 

 

 

 

 

 

 

 

40

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

60

 

 

 

 

 

3

 

 

 

2

 

3

 

 

 

 

7

 

 

 

 

 

 

 

 

90

 

 

 

 

 

4

 

 

 

4

 

5

 

 

 

 

2

 

 

 

 

 

 

 

 

Таблица 4.17 – Добавление фиктивного

 

пункта

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Мощности потребителей

 

 

 

 

 

 

 

 

 

Мощности

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

поставщиков

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4

 

45

 

1

35

2

55

 

 

 

5

65

 

 

 

 

 

 

 

 

40

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

60

 

 

 

3

 

 

 

2

 

3

 

 

 

 

7

 

 

 

 

 

 

 

 

 

90

 

 

 

4

 

 

 

4

 

5

 

 

 

 

2

 

 

 

 

 

 

 

 

 

10

 

 

 

0

 

 

 

0

 

0

 

 

 

 

0

 

 

 

 

 

 

Перв

 

начальное распределение

 

 

 

для

 

сформулированной

закры-

 

 

 

 

 

 

 

той транспортной задачи найдем, например,поставок

методу наименьших затрат. Для

удобства укажем последовательность заполнения таблицы пос авок:

x

=

x

=

x

=

x

=

x

 

 

=

 

x

 

=

x

=

 

В

результате приходим к

следующему базисному распределению поставок (табл. 4.18).

44

 

12

 

34

 

 

13

 

 

23

 

 

21

 

31

 

 

 

 

 

 

 

 

 

 

 

Таблица 4.18 – Поиск решения методом наименьших затрат

 

 

 

 

 

 

 

 

Мощности потребителей

 

 

 

 

 

Мощности

 

 

45

 

 

 

 

35

 

 

 

55

 

 

65

 

 

 

 

 

поставщиков

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5

 

 

 

0

 

 

40

 

4

 

 

 

1

 

 

 

2

 

 

 

 

 

 

 

60

 

3

 

 

 

 

2

×

35

 

3

 

5

7

 

 

 

–1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

90

 

4

 

10

 

4

×

 

 

5

 

50

2

 

 

 

–2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

35

 

 

 

 

 

 

 

 

 

×

55

 

 

 

 

10

 

0

 

 

0

 

 

 

0

 

 

0

 

 

0

 

 

 

 

 

×

 

 

 

×

 

 

 

×

 

 

×

10

 

 

 

 

 

 

 

2

 

 

 

 

1

 

 

 

2

 

 

0

 

 

 

Рассчитаем матрицу

 

оценок

 

по формуле

 

= (

 

)

:

 

 

 

 

 

 

+

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Так как есть отрицательные оценки свободных клеток, то полученный

 

 

 

 

d =

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

план перевозок неоптимальный. Строим цикл перераспределения для клетки

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(4; 3). В результате получим следующий цикл (выделенные клетки в табли

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

це 4.19). Далее производим перераспределение в соответствии с описанной ра-

нее схемой. Результат представлен в таблице 4.20.

 

 

 

 

 

 

 

 

Таблица 4.19 – Составление цикла перераспределения

 

 

 

 

 

 

 

 

Мощности потребителей

 

 

 

 

 

Мощности

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

поставщиков

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

45

 

 

 

 

35 35

 

55

 

5

65

 

 

0

 

 

40

 

4

 

 

1

2

5

 

 

 

 

60

 

 

 

+

 

2

 

7

 

 

 

–1

 

 

 

3

 

 

 

 

 

3

 

 

 

 

 

 

 

 

 

 

10

 

 

 

 

 

 

 

 

50

 

 

 

 

 

 

 

Мощности

 

 

 

Мощности потребителей

 

 

 

поставщиков

4

45

– 4

35

5

55

 

2

65

+

–2

 

90

 

 

10

0

 

35

0

 

0

 

+ 0

 

55

0

 

2

 

1

2

0

 

 

 

 

 

 

 

 

10

 

 

 

Таблица 4.20 – Новое решение

 

 

 

 

Мощности

 

 

 

Мощности потребителей

 

 

 

поставщиков

4

45

 

1

35

2

55

 

5

65

 

0

 

40

 

5

 

 

60

3

 

20

2

 

35 3

 

7

 

 

–1

 

90

4

 

4

 

5

 

40

2

 

65

–2

 

10

0

2

25

0

1

0

2

10

0

0

0

 

 

 

 

 

 

 

 

 

 

Матрица оценок для этой таблицы

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

не содержит отрицательных элементов свободных клеток, следовательно, полу

 

 

 

 

d =

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ченный план перевозок оптимальный. Суммарная стоимость перевозок соста-

вит:

f (X ) =

+

+

 

 

 

+

 

 

 

+

=

 

+

+

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

·······································································

В случае, когда суммарная мощность поставщиков больше суммарной

мощности потребителей, в рассмотрение вводится «фиктивный потребитель»,

к таблице поставок присоединяется дополнительный столбец. Коэффициенты

затрат этого добавленного столбца соответствуют затратам на хранение неот-

правленного груза (поставки последнего столбца – неотправленный груз для

каждого из поставщиков).

 

информация об этих затратах отсутствует, то их

принимают равными одномуЕслитому же числу (например, нулю).

 

 

·····························································

 

Контрольные вопросы по главе 4

 

1

·····························································

В чем суть транспортной зад чи?

 

2

ая транспортная задача называется закрытой?

задаче?

3

ую величину нужно минимизировать в

4

ра считы ается

стоимость перевозок втранспортной

модели?

5

Какие существуют методы поиска начального решения?

 

6

 

северо-западного угла?

 

7

В чем суть метода наименьшей стоимости?

 

8.

Какие клетки заполняются в первую очередь в методе наименьшей

 

стои ости?

 

 

 

9. В чем суть метода потенциалов?

 

10. Как вычисляются оценки клеток?

 

 

 

5 Целочисленное программирование

 

 

 

·····························································

 

 

 

Целочисленным (иногда его называют также дискретным)

 

 

 

ммированием

 

(ЦП) называется раздел математического

 

 

программирования,

изучающий экстремальные задачи, в которых

 

 

искомые

еременные накладывается условие целочисленности,

 

 

наобласть допустимых

решений конечна [1].

 

·····························································

 

 

Изучение эт го раздела вызывается тем, что огромное количество эконо-

мических задач

носит

дискретный, чаще всего целочисленный характер, что

связано, как правило,

 

 

 

 

 

 

 

 

неделимостью многих элементов расчета:

например, нельзя построитьфизическойдва половиной завода, купить полтора автомоби-

ля т. д. В ряде случаев такие задачи решаются обычными методами, например

симплексным методом, с последующим округлением до целых чисел. Однако

такой подход оправдан, когда отдельная единица составляет очень малую часть

всего объема (например,

 

 

 

 

 

 

запасов); в противном случае он может вне-

сти значительные искажениятоварныхдействительно оптимальное решение.

 

5.1 Графический метод решения задач

 

 

целочисленного программирования

 

 

 

 

 

Приводимый ниже пример позволяет лучше понять неуловимую труд-

ность задач целочисленного программирования (ЗЦП) [1].

 

·······················

 

f

 

x

 

= x

 

Пример 5.1

·······················

 

 

 

 

 

 

 

 

 

x

x

 

 

 

 

 

 

 

 

 

 

(

 

x

 

+

 

 

 

 

 

 

 

 

 

 

 

x

 

)

x1

1

 

x 2

2

j =

 

 

 

 

 

 

 

 

 

 

 

+

 

 

 

 

 

 

 

 

 

 

 

 

1

x

 

 

 

 

 

На плоскости

 

 

 

 

 

 

 

 

 

 

2

 

 

– многоугольник

;

 

 

 

 

 

 

j

 

 

 

 

 

j

множество

отметим точки множества

 

допустимоецелочисленными координатами (рис. 5.1).

 

 

 

Здесь множество

 

отмечено отдельными точками внутри многогранника

.

 

(

 

)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ɶ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

147

 

 

 

 

 

 

 

Рис.

уровня ЦФ

f (x)

в

 

методом

f

 

Перемещая

 

линию

направлении антиградиента

= (1,20)

(убывания f

), находим крайнее положение этой линии, в котором

она имеет непустое пересечение с множеством

ɶ

. В этом положении линия

S

уровня проходит

 

через точку B(0,4),

поэтому

решение

задачи имеет вид

ɶ

*

 

 

 

ɶ*

= min f (x) = −80.

 

 

 

 

 

 

= (0,4); f

 

 

 

 

 

 

x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ɶ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x S

 

 

 

 

 

 

 

 

 

 

Из рисунка видно, что в случае непрерывной переменной оптимум есть

точка C(5;4,5), т. е.

x* = (5;4,5);

f * = −85.

 

= 5; x = 5, которое

 

 

 

Простой метод округления привел бы к решению x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

2

не удовлетворяет ограничениям. Отсюда следует, что точка минимума ЦФ на

 

 

 

 

 

 

 

 

 

ɶ

целочисленной задачи не обязательно является бли-

допустимом множестве S

жайшей к решению x* обычной ЗЛП.

 

 

 

 

 

·········· ·····························································

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ɶ

 

 

 

 

 

 

 

 

Если округлить в сторону уменьшения,

т. е. взять x(5,4),

 

 

 

 

 

ɶ

= −75, то эта точка будет удовлетворять ограничениям задачи.

 

 

 

 

 

f

 

 

 

 

Для

·····························································

 

 

 

 

 

 

 

целочисленных задач разработаны специальные методы,

торые можнокомбинаторныерешениязделить на две группы: методы отсечения (отсекающих плоскостей) и методы.

Метод отсекающих плоскостей состоит в построении дополнительных

ограничений

применении модифици ованного симплексного метода (метод

Гомори). Представление о

 

 

 

 

 

методах дает широко используе-

мый на практике метод ветвейкомбинаторныхграниц.

 

 

 

 

По методу Гомори первый этап решения целочисленных задач не отлича-

ется от обычн го расчета по симплексному алгоритму. Если среди значений

переменных в

оптимальном

плане есть дробны

то составляется дополнитель-

ное ограничение, отсекающее дробную часть решения, но оставляющее в силе

все прочие условия, которым должен удовлетворять оп

план. Это

 

ограничение присоединяется

исходнытимальныйограничениям зада-

дополнительноечи, вновь применяется процедура симп

 

ксного

метода. Алгоритм Гомори

позволяет прийти к оптимальному целочисленному

решению за конечное число

шагов.

 

 

 

 

 

 

 

 

 

 

5.2 Метод

 

 

 

 

 

 

 

 

 

 

МетодГомори(МГ) используется для решения задач ЦП с произвольным

числом переменных [1].

 

 

 

тсечение

от

множества

Суть МГ: последовательное

 

нецелочисленной задачи частей, не

содержащих точекдопустимогоцелыми координатами.

Эти отсечения производятся включением в задачу дополнительных ограниче-

ний на переменные .

 

 

 

 

 

 

 

 

 

ЗЦП имеет вид:

f (x) ct x

 

 

 

(5.1)

 

 

– множество целых чисел.

5.2.1 Алгоритм МГ с использованием СМ

 

 

 

 

 

 

 

 

=

 

 

 

 

 

Шаг 1. С помощью СМ находится решение

ЗЛП без учета требования

целочисленности (5.1). Если для

 

условие

 

выполняется, то задача

ш на. В противном случае среди чисел

последнего столбца СТ,

определяю-

щей решение

, есть такие, что

b

 

> .

 

выбирается

элемент

Шаг 2. Среди нецелых элементов

 

(например, с максимальной дробной частью

{ }). Попроизвольныйстроке СТ состав-

 

 

 

{ i}

 

 

 

 

 

 

ляется дополнительное ограничение вида

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n

 

 

 

 

 

 

 

 

 

 

 

 

имеют но-

(здесь для определенности полагаем, что свободные переменные

 

 

 

 

 

 

 

 

 

 

 

 

 

 

j=m+1

}

≤ −{

}

 

 

 

 

 

мера

 

 

 

 

 

 

).

 

 

 

 

 

 

{

 

 

 

 

 

+

+

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

это ограничение пред-

 

С помощью вспомогательной переменной x

n+1

ставляется в виде равенства

 

 

 

 

 

 

 

 

n

 

 

 

 

 

 

 

 

 

 

и вводится в СТ дополнительной строкой.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

xn+

 

j=m+1

αn+ n

βn+

 

 

(5.2)

 

 

 

 

 

 

 

 

 

 

αn+ m+

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

+1

 

{

}

 

 

= −{

}

 

 

 

где

αn+1, j = −{

 

r, j}

=

 

+

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Так как

 

 

 

 

= −{b } <

 

 

, то после дополнения строкой (5.2) СТ перестает

 

β

 

 

 

 

соответствовать до устимому базисному решению ЗЛП, которую она писывает.

 

β +1

= −{

}

 

 

r

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n+1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Шаг 3. Для

перехода к допустимому базисному решению производятся

следующие операции:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

счит ется опорной;

 

а) строка

отрицательным свободным членом β +

 

б) если все коэффициенты

αn+1, j

>

=

+

задача не имеет ре-

шения, в противном случае номер

 

разрешающего столбца находится из усло-

вия

в) совершается преобразование СТ с опорным элементом

αn+ . Если

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n+1,

 

= j:αn+1, j <0

 

+1,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

α n+1

 

 

α n+1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

β

 

 

 

 

 

 

 

β

 

 

 

 

 

 

 

в новой СТ по-прежнему есть

 

хотя

 

бы один

 

отрицательный свободный член, то

 

 

 

описанная процедура повторяется, начиная с операции (а), необходимое число

раз.

Если все элементы

 

 

 

 

 

новой СТ ≥

, то допустимое базисное решение

 

 

 

 

 

 

найдено. Отметим, что выбор опорного элемента

αn+

гарантирует неотрица-

тельность

 

 

 

 

 

 

 

 

 

 

 

 

новой СТ. Поэтому найденное допустимое реше-

ние являетсякоэффициентовоптимальным.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Шаг 4. Если найденное на шаге 3 решение ЗЛП удовлетворяет условию

целочисленности, то – «останов», если нет → переход к шагу 2.

 

Описанный алгоритм позволяет найти решение полностью целочислен-

ной ЗЛП или установить отсутствие решений за конечное число итераций.

·······················

 

 

 

 

 

 

 

Пример 5.2

·······················

Пусть для приобретения оборудования, размещаемого

а производствен

ой площади 38 м2, фирма выделяет 20 млн руб. Имеются диницы оборудова-

ния двух

2

типа А стоимостью 5 млн руб., требующее

производственную

площадь 8типов:м имеющее производительность 7 тыс. единиц продукции за сме-

ну, и типа Б – стоимостью 2 млн руб., занимающее площадь 4

2

дающее за

смену 3 тыс. единиц продукции. Требуется рассчитать оптимальный

вариант

приобретения оборудования, обеспечивающий максимум производительности

участка.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

модель задачи. Пусть

Сформулируем экономико-

 

 

 

 

 

 

 

 

 

 

 

количество приобретаемых машинматематическуютипа А типа Б соответственно. Тогда целе-

вая функция задачи будет иметь вид:

 

 

 

x

 

 

 

 

 

 

 

 

 

 

при ограничениях:

f (

X ) =

 

x +

 

 

 

 

 

 

 

 

 

 

 

x1

+

1 x

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

x

 

+

 

x2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

 

программирования.

 

 

 

 

1,2

 

 

 

 

 

1,2

 

 

 

 

Сформулирована задача линейного

 

 

 

 

 

Введем дополнительные переменныецелочисленного, помощью которых исход-

ные неравенства преобразуются в равенства:

 

 

 

 

 

 

 

 

 

 

 

 

x1

 

+

 

x2

+

 

=

 

 

 

 

 

 

 

 

 

 

 

 

+

 

+ x3

=

 

 

 

 

 

 

 

 

 

 

x x 1

 

x x2

4

 

 

x

 

 

 

 

 

 

 

 

 

1

2

 

3

 

4

 

 

 

 

 

 

i

 

 

 

 

 

 

из которых следует, что переменные

 

 

 

 

 

могут принимать только неотрица-

тельные целочисленные значения.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Далее решаем задачу симплексным методом (без учета целочисленности)

(рис. 5.2).

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

= x

 

 

мак-

Из таблицы СТ-3 видно, что в оптимальном плане x

2

=

симум целевой функции равен

f

(X )

 

 

 

 

 

 

 

 

1

 

 

 

 

=

 

 

+ =

. П

ученное решение

не удовлетворяет условию целочисленности, поэтому дополняем

последнюю

СТ строкой (4) (рис. 5.3).