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

книги из ГПНТБ / Говар В.М. Математическое программирование учеб. пособие

.pdf
Скачиваний:
9
Добавлен:
23.10.2023
Размер:
7.19 Mб
Скачать

 

 

 

 

 

 

- 1 5 0 -

 

 

 

 

 

}

 

. A •

( I -

Ju ) В С Ю ; 30; 0; 7;

0;

0;

0) *

( I - J *

)>

'(25;0;0;I7,5;

15; 0; 0) = (25-15Д. ; 3

0 ;

0;

17,5

- I0.5JL;

15 - I5ck; 0; 0)

= (X x ; X £ ; X 3 ; Х^; Ц;

X 6 ;

при 0 ^ і , ^

I

 

При

t =16

максимум функции

цели находится в выпуклой обо!

лочке вершины В и С, го

есть

 

 

 

 

 

 

Л .В + (

I -

А

)

С = А

. (25;0;0;

17,5^15;-0;

0) + ( І - А )

(0;

0; 0;

30;

40; 0; 50) = (25 А ; 0; 0;

30 - І2 . 5 . Х ;

40-25.Х;

0;

50 - 5ОА)=

 

г ; Х 2 ; Х 3 ; \ ; Ц;

Х& ; Ху) при 0 <

 

і.

- 151 - У^п р а н е н и я

Даны системы ограничений вида ( I ) . Для каждого значения параметра t , изменяющегося на отрезке ( L ; J * ) » найти решение задачи, оптимизирующее значение функции цели вида (2), при усло­ вии неотрицательности переменных, входящих в систему ограничений

каждой

задачи.

 

 

 

 

 

 

 

 

 

 

Пример I .

 

 

 

 

 

 

 

 

 

2

X j + 3 Х 2

+ 2,6 х 3

 

é

2900 + 5 t

у

(I)

 

4

X j

5 Х 2

+ 3

х 3

 

^

3500 + 5 t

,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2,4

X j + 4 х 2

+ 2

Х 3

^

2600 + 4 t

,

 

 

8,4

 

X j + 4 х 2

t 2

X j

2750 + 3 ѣ

,

 

 

 

 

где

t

(-60; 60].

 

 

(2)

 

=

+

I 6 x 2 + Ш

3

~~* m d x

 

 

 

Пример 2

 

 

 

 

 

 

 

 

 

2*1 +

 

7 x 2 .

5

 

29 •

4 t

 

,

 

 

(I)

 

*l*

 

x 2

^

 

 

 

 

 

 

 

7Xj + 2x2

=z

29 + 3 t

 

,

 

 

 

 

 

 

 

 

 

 

 

 

-é.

12 + 2 t

 

,

 

 

 

 

 

 

где'

t e

( - 5; 5) .

 

 

 

(2)

L(2)'=

 

2Xj. +

 

 

m

l

n

 

 

 

 

Пример 3

 

 

 

 

 

 

 

 

 

3Xj + 2X2

4,

30 + 4 t

 

,

 

 

 

-

4Xj +

X 2

Ä

 

4 + i

 

,

 

 

 

(I)

<

4Xj +

x 2

?

 

12+ 3

t

,

 

 

 

 

 

- X j

 

 

S-

6 + 2 t

,

 

 

 

 

 

 

 

ГД®

te

( 0; 30) .

 

 

 

 

 

 

 

 

 

 

-

152

-

 

 

 

 

 

 

 

 

 

(г)

I

 

(X)

 

*

3xj

+

 

x 2

 

—>

rmn

 

 

 

 

 

 

 

Пример

4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

Xj

+

1,7

x 2

+

2,1

x3

+

2

хч

 

^

125

+

b t

,

CD) h , 5 * l

+

3

x 2

+ 4

x3

t

5

x 4

 

^

210+

 

I O t ,

 

 

Xj

+

1,1

x 2

*

1,3

x3

+

 

Хц.

^

70

-

t

,

 

 

где

 

 

t £

(

-

10 )

 

 

 

 

 

 

 

(2)

L

С »

 

-

8Xj +

2

+

3

+

І0Х4

max

 

 

 

 

 

Пример

5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4

Xj

-

2

 

Ä

18,

 

 

 

 

 

 

 

 

 

 

 

-

Xj

•<

 

х 2

 

^

 

3,

 

 

 

 

 

 

 

 

 

 

CD

2

Xj

+

ЗХ2

 

^

24,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

Xj

+

 

х 2

 

•?

 

9.

 

 

 

 

 

 

 

 

 

 

(2)

 

L СХ)

= СЗ + t )Xj

+ (4

+

2 t

) х 2 -

mux

 

 

 

 

где

 

 

t 6

 

Cd5

)

 

 

 

 

 

 

 

 

 

 

 

 

Пример fa

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Xj

-

4X2

 

 

 

0,

 

 

 

 

 

 

 

 

 

 

(I.)

2

Xj

+

3x2

 

:>

I I ,

 

 

 

 

 

 

 

 

 

 

 

Xj

+

2X2

^

12,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

Xj

-

 

x 2

 

г

- I ,

 

 

 

 

 

 

 

 

 

 

(2)

L

<X>

*

(5

+ 2 t )

Xj +

(3

+ t

)

x 2 - ^

lT»-n

 

 

 

 

где

 

t

e

 

 

(0;

6)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-

153

-

 

 

 

Пример 7

 

 

 

 

 

 

 

 

 

г-

2Xj

 

+

х 2

 

А.

 

 

 

(I)

 

 

 

 

х 2

 

4-

10,

 

 

 

х 2

 

-

2

 

^_

 

 

 

 

{

X I

 

+

2

 

 

 

8,

 

(2)

(X)

=

(3

-

2 t ;

Х І

+

(4

t t )

 

 

где

 

t e

(-1;

I ]

 

 

 

 

 

Пример S

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4

1 5 ,

 

 

 

2xT

 

 

x 2

.-5-

°'

 

 

 

 

 

 

 

 

 

 

 

 

-

 

2Xj

^

 

b,

 

 

 

 

 

 

 

2x0

 

10,

 

 

(2)

L (X)

=

(

2

+1)

xj

+

(3

+ 3 Ѣ ;

«ІПі П ,

 

где

t<?

( 0 ; Ю )

 

 

 

 

-20-ЗП0

-154 -

§іо. ДИСКРЕТНОЕ ПРСГТАММЕРОЬШЕ

Дискретное программирование - один из наиболее молодых,

перспективных и бурно развивающихся разделов

математического

программирования. Методами дискретного программирования могут

быть решены такие задачи, как, например, задачи планирования

перевозок, задачи

размещения и специализации

производства,задачи

теории расписаний,

задачи

о наилучшем распределении памяти ЭВМ

и т . д .

 

 

 

Наиболее изученными

задачами этого класса является целочис­

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

тельные

требования неотрицательности.

 

 

 

 

Запишем общую задачу целочисленного линейного программиро­

вания

 

 

 

 

п

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Найти (10.1) I

(X) = 1_ С

X,—» x

(или

rnwi

)

при следующих ограничениях:

1

 

 

 

 

 

 

(10.2)

TZ

х^ é

Ü-L

,

где

L = 1,2,

m

,

 

(10.3)

x j , è

о

 

,

где y

= 1,2,

n ,

 

 

(10.4)

х^

- целое

 

,

где

j_

= 1,2,

. . . . n,

( n,

n ]

 

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

все

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

линейного программирования, при этом

Й = п когда не требова­

ния

целочисленности наложены на отдельные переменные - с частич­

н о

целочисленной задачей линейного программирования, при этом

я,

^ п .

 

 

Если в системе ограничений (10.2)

среди коэффициентов ил

-155-

и BJ_ есть дробные числа, іо каждое неравенство или уравнение

с дробньии коэффициентами можно привести к общему знаменателю и затем обе части неравенства или уравнения умножить на этст об­

щий знаменатель, тогда все коэффициенты при неизвестных, а так­

же свободные члены станут целыми. Поэтому, не нарушая общности рассуждений, можно предполагать все коэффициенты системы СIP•2) целыми числами.

Целочисленное линейное программирование находит широкое применение в экономике, так как зачастую по самому смыслу эко­ номической задачи требуется, чтобы ее решение было целочислен­ ным. Таковой является и общая задача производственного планиро­ вания при определении номенклатуры выпуска неделимых видов продукции.

Методы последовательного улучшения плана и последователь­ ного уточнения оценок приводят к целочисленному решению лишь для немногих задач. Округление полученных'нецелочисленных-реше­ ния часто не приводит к желаемому результату, так как получен­ ный при этом план монет не удовлетворить исходной системе огра­ ничений.

Б общем случае для отыскания оптимального целочисленного решения задачи линейного программирования требуются специальные методы. Они заключаются в подборе дополнительных линейных ограни­ чений к обычным ограничениям задачи линейного программирования, обеспечивающих целочисленность решения.

Одним из таких методов, приводящих к целочисленному решению за конечное число итераций, является метод, предложенный амери­ канским математиком Гомори.

 

 

 

-

 

156

-

 

 

 

 

 

 

Определение.

 

 

 

 

 

 

 

 

 

Каждое число X моино единственным способом разложить на

два слагаемых

 

 

 

 

 

 

 

 

 

 

(10.5)

 

X =[

X ]

+ <{ X } ,

 

 

 

 

 

где £ X J - наибольшее

целое

число,

непревосходящее

^

, а

{ х }

-

дробная часть

 

числа

X

,

удовлетворяющая

условию

Например,

£ 5 , 6 ]

= 5 ,

.(

Ъ,ьу

= 0 , 6 ,

 

 

 

 

 

[ - 4 , 3 ]

=

- 5 ,

< - 4 , 3 }

=

0,7 .

 

 

Рассмотрим

алгоритм Гомори для решения полностью целочис­

ленной

задачи линейного

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

то есть задачи

( 1 0 . I ) -

- ( 1 0 . 4 ) .

Этот

алгоритм

основан

на теореме, позволяющей

"отсекать

оптимальный нецелочисленный оперный план задачи линейного про­

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

не "отсекая"

ни одного целочисленного

плана. Если

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

ряет любое

целочисленное решение из допустимого множества планов,

но заведомо

не удовлетворяет полученное. После введения этого

ограничения в задачу план становится недопустимым, и решение опять продолжается до получения оптимума.

Алгоритм Гомори-

I . Методами последовательного улучшения плана или последо­

вательного уточнения оценен решаем задачу линейного программиро­

вания вида

( 1 0 . I ) -

( 1 0 . 3 )

до

получения

оптимального

решения на

"к"-ой и іерации.

 

 

 

 

 

 

Если

полученные

при этом

свободные

члени B J ( K ) ,

В ^ ^ ^ , . . , ,

в , , . ^ , С о ^ - целые, то найденное решение

яиляегся

и онтималь-

ным планом

исходной

задачи

( І 0 . І ) - ( І 0 . 4 ) .

Если не среди чисел

 

-

157

-

 

ijM,

, . . . , в,п^к ^

есіь

нецелые,

то переходим ко второму

іункіу

алгоритма.

 

 

 

2.

Пусть нецелым является в>

югда окаймляем симплѳк-

|:ную таблицу с полученным оптимальным, но нецелочисленным реше­

нием,

строкой

 

 

(к),

 

 

 

 

 

 

 

lfio.6)

УІ =

n

у

-J

Чі

"іг

и единичным

столбцом

вп + т + \

• -В (Ю.6)

является неотри­

цательной целочисленной

переменной.

 

îОчевидно, что после этого симплексная таблица перестает

[быгь допустимой.

 

і

 

 

i

3- Условимся называть

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

i

 

 

'преобразований, необходимых

либо для получения из имеющейся оп­

тимальной таблицы с нецелочисленным решением последующей опти­ мальной таблицы, либо для выявления несовместности исходных огра­

ничений вида (I0.2J.-

 

 

 

 

 

!

Последовательно

преобразуем

симплексную таблицу, полученную

I

 

 

 

 

 

 

 

после

окаймления

ее

строкой

У-

и столбцом

Cnrrnt-i

методом

последовательного

уточнения

оценок до тех

пор, пока эта

таблица

не станет опять допустимой или не выявится несовместность исход­

ных ограничений, то есть выполняем большую итерацию.

При этом

на первом шаге большой итерации из базиса обязательно

выводиі-

ся у { Если после проведения большой итерации полученный оптималь­

ный план является целочисленным, то и задача .(Ю«І) - (Ю.ч) ре­ шена. Если хе оптимальный план является нѳцелочиеденным и не об­ наруживается неразрешимость задачи из-за несовместности условий, то вновь переходим ко второму пункту адгориіма.

 

 

 

 

-

158

-

 

 

Процесс повторяется либо до получения оптимального целочиі

ленного

решения,

либо до выявления несовместности исходных огр]

ничений.

 

 

 

 

 

 

 

Примечания ко второму пункту алгоритма:

 

а)

Если все в ^ к ^ - целые,

a С о ^ - нецелое число, то к таб­

лице приписываем

вместо

У^

строку Уо, то есть

 

СЮ.7)

Уо = - {

СоС")}

-

( - . { C j M y x j . - { C 2

W } х 2

-

j C n ^ J - Хп^

,

где Уо имеет неотрицательное

целочисленное

значение;

 

 

 

 

 

б)

В этом случае,

когда

в оптимальном нецелоаисленном плане иыі

ется несколько

дробных

свободных членов, то выбор числа і для

введения соответствующего "отсекающего" неравенства (10.8) или

(10.9),

где

 

 

 

(10.8)

{*Ц(К)} h * {аіг}*2+

~-

+

{ аЩ±

(10.9)

т ("> ] Х т + { С 2 ^ } х 2

+ . . .

+

{ С л ( к ) ^ { С о ( К ) } ,

можно производить различными способами. С этим выбором связан

обьем вычислений, необходимый до получения оптимального целочис ленного плана. Однако накопленный к настоящему времени опыт при

мѳнѳния алгоритма не позволяет с уверенностью рекомендовать луч •им какое-либо единственное правило. Известны примеры небольших

задач, для решения которых необходимо выполнение многочисленных больших итераций. Наряду с этим встречались задачи большой раз­

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

• количеством итераций необходимых для ее решения, то для цело­ численных задач такой зависимости нет. Можно предполагать, что

- 159 -

родолжительность решения целочислѳнно.й задачи определяется не юлько ее размерностью, но и более юнкими структурными особвн-

іостями

многогранника ограничений,

связанными с

расположением

j нем целочисленных точек. Выявление таких

особенностей пред-

зтавляет

большой теоретический и практический интерес,

поэтому

для первоначального ознакомления можно рекомендовать выбор |

либо

как

минимального номера, для

которого

в ^ к ^

- нецелое, либо

номер

і

выбирается для свободного

члена с

наибольшей

дробной

частью.

 

 

 

 

 

Примечания к третьему пункту алгоритма

 

 

 

а) Признаком отсутствия целочисленного решения служит

появление

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

членом и целыми остальными коэффициентами, так как в этом случив соответствующее уравнение не имеет решения в целых числах; б) Если дополнительная переменная Ук является свободной для не ­

которого промежуточного решения, то уравнение Ук = 0 входит л число ограничений, определяющих это решение. Как только пѳрѳмвм»

ная Ук вновь вводится

в базис,

то ее значение оказывается бел-

различным для основных переменных задачи,

поэтому строка и сіол-

бец соответствующие Ук, могут

быть вычеркнуты при дальнѳйаѳм

решении.

 

 

 

При решении задач

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

в симплексных таблицах

индексную строку, соответствующую коэффв-

циентам функции цели,

удобнее

записывать

в верху таблицы.

Соседние файлы в папке книги из ГПНТБ