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

Lektsii_po_teorii_lineynogo_programmirovania

.pdf
Скачиваний:
25
Добавлен:
18.03.2015
Размер:
515.7 Кб
Скачать

 

 

 

 

 

xi0

 

 

 

 

 

 

j

xi0

 

 

c,x

= cj ,xj

+

cjxj

=cj

j

+ cj(xj xj

j

)=

 

0

0

ji

 

 

0

ji

 

 

 

 

 

 

 

 

 

 

 

x 0

 

 

 

x 0

 

 

 

 

 

 

0

 

 

 

i0

 

 

0

 

 

 

 

i0

 

 

 

 

 

 

 

 

 

j=1,m

 

 

 

 

 

 

 

1jm

 

 

 

 

 

 

 

 

 

=c,x ci xi

+cj

1

xi cj

xi0

j

=c,x +

xi0

 

m

i

 

 

 

xj0

xj0

cj

cjxj0

=

 

0 0

0 xj0

0

ji0

 

 

 

 

 

xj0

0

j=1

 

 

 

 

 

 

i

 

 

 

i

 

 

 

 

 

i

 

 

 

 

 

 

 

 

0

 

j=1,m

 

0

 

 

 

 

 

0

 

 

 

 

 

 

 

 

 

[cj

]

 

 

 

 

 

 

 

 

 

 

 

 

 

= c,x +ti

zj

= c,x +ti

j

> c,x .

 

 

 

 

 

 

0

0

0

 

 

0

0

 

 

 

 

 

Замечание

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

о

вычислительной

сложности

симплекс-метода.

Вычислительные операции: сложение, вычитание, умножение, деление и сравнение двух чисел считаются элементарными. Вычислительной сложностью метода решения задачи назовем число N элементарных операций, приводящих к ее решению.

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

которых необходимо число элементарных операций N = O (2min(n, m/2)). «… То есть, как говорят, метод имеет

экспоненциальную сложность. Это означает, что при не очень больших n (и m – М.Р.) применение симплексметода… может не привести к цели за разумное время даже при использовании самых мощных компьютеров» –

см. [1], стр. 285.

Оказалось, что подкласс задач линейного программирования с целочисленными (или рациональными) данными имеет полиномиальную сложность N = O ((n4 + m3n)L + n2m2), где L –

41

максимальное число двоичных разрядов, необходимых для записи всех целых чисел – данных задачи. Как указано в [1], стр. 298, это было впервые установлено в работе: Хачиян Л.Г. Полиномиальные алгоритмы в линейном программировании. ДАН СССР (1979), т. 244,

№ 5, стр. 1093-1096.

42

9. Нахождение крайней точки

Мы видели, что для применения алгоритма симплекс-метода нужно сначала найти хотя бы одну крайнюю точку области определения задачи D Зк .

Покажем, как это можно сделать.

Пример 5. Пусть дана каноническая задача

 

 

 

Зк : arg max c, x

= ?, Ax = b,

x 0.

 

 

Если для какого-то b j < 0 , то в уравнении с этим

 

m

 

 

 

 

 

b j ,

a jk xk

= bj ,

надо

переменить

знаки у

всех

 

n=1

 

 

 

bj = −bj .

 

ajk ,

k =

 

,

и bj ,

полагая ajk = −ajk ,

Это

1, n

приводит к новой форме этой задачи с неотрицательным

вектором b ,

b 0 . Так и будем считать. Добавим

искусственные

переменные

x = (xn+1,..., xn+m )T и

рассмотрим задачу

 

m

Зк: xRn+m , c, x

= −xn+ j max, Ax + Im x = b, x 0, x 0.

j=1

Ясно, что в новой задаче S(b)0 . Поэтому, если в первоначально задаче Зк есть допустимый элемент x , то

m

для достижения S(b)= max(xn+ j ) годится вектор

j =1

x′ = (x,0)T , дающий S(b)= 0 . Значит, крайняя точка задачи Зк, дающая её решение, это x с x =0. Заметим, что точка (0,b) Rn+m является крайней для новой

43

задачи Зк- по теореме 7. Поэтому мы можем применить симплекс-метод к Зки решить её, найти

 

m

 

 

 

 

 

arg max

xn+ j

= (x,0)T .

 

 

 

 

j=1

 

x будет

крайней

точкой

Покажем,

что

первоначальной задачи

Зк . Рассуждаем от противного.

Пусть

x

 

не

 

крайняя

точка.

y, z D З

и

t (0,1)также

x = ty +(1t)z ,

тогда

y′ = (y,0)к

и z′ = (z,0) D Зк ,

а (x,0)= ty′+(1t)zв

противоречии с

тем,

что

(x,0) - крайняя

точка

задачи Зк.

44

10. Постановка транспортной задачи

Приведем формулировку одного частного случая задачи линейного программирования, имеющего много приложений. Это транспортная задача.

На станциях Ai (i =1,m)есть однородные грузы в количествах ai (i =1,m), которые следует перевезти в пункты Bj (j =1,n) по bj (j =1,n) единиц в каждый пункт. Стоимость перевозки единицы груза из Ai в B j равна cij . Требуется минимизировать общую стоимость перевозки.

Обозначая

xij

 

 

 

количество

 

груза,

перемещающегося из

Ai

в

B j ,

приходим

к

задаче

минимизации

 

cij xij при

 

 

 

условиях

 

 

 

 

 

i =

1,m

 

 

 

 

 

 

 

 

 

xij = ai ( ) ,

j =

1,n

 

 

 

 

 

 

 

 

xij 0,

xij =bj ( ).

 

 

 

 

 

 

j =

1,n

 

 

i =

1,m

 

 

 

 

 

 

 

 

Поставим эту задачу как каноническую. Пусть y -

вектор,

полученный

 

 

каким-то

упорядочиванием

индексов

 

 

в

множестве

{x }

 

 

,

y Rn m

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ij i =1,m

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

j =

1,n

 

 

 

соответственно

появляется

 

вектор

c Rn m .

Получаем

такую задачу

Зк : arg max c, y

=?,

 

y 0,

Ay =b с

матрицей A , состоящей из единиц и нулей на соответствующих местах, чтобы получить уравнения ( ) и ( ) . При наличии естественного ограничения на

45

параметры задачи

ai = bj = M - общее

 

 

 

 

j =

 

 

 

i =1,m

 

1,n

 

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

Специфика транспортной задачи позволяет упростить алгоритм симплекс-метода. Мы не будем этим заниматься.

46

11. Исторические сведения о возникновении и развитии линейного программирования

В1939 году Л.В. Канторовичем была выполнена первая работа по решению задач нахождения экстремумов линейных функций в замкнутой области определения, являющейся многогранником конечномерного евклидового пространства – «Математические методы в организации и планировании производства». Ленинград, ЛГУ, 1939. Там уже был разработан метод решения, названный методом «разрешающих множителей», а сейчас – «симплексметодом».

В1947 году Дж.Б. Данциг поставил общую математическую задачу и применил для ее решения симплекс-метод. Тогда им были решены некоторые прикладные задачи военного характера. Поэтому первые открытые публикации в США по этому методу относятся к началу 50-х годов XX-века. Транспортную задачу рассматривали и ранее, например Л.В. Канторович в 1939, Т. Купманс в 1947 году – он и ввел термин «линейное программирование».

В1975 году Л.В. Канторовичу и Т. Купмансу была присуждена Нобелевская премия по экономике за успешные расчеты экономических задач на основе методов линейного программирования. В развитии теории и приложений линейного программирования принимали также участие такие известные математики как Кун, Таккер, Гурвиц, Дж. фон Нейман.

ВУфе теория и приложения линейного программирования развиваются в школе последователей Э.А. Мухачевой, которая в свою очередь училась в

47

новосибирском Академгородке у Г.Ш. Рубинштейна в научной школе академика Л.В.Канторовича.

В научной школе академика Еремина Н.И. разработан подход к несобственным задачам линейного программирования – с противоречивыми ограничениями, когда область допустимых значений оказывается пустой. Метод преодоления этого заключается в аппроксимации этой задачи другой с непустой областью определения за счет объединения некоторых ограничивающих неравенств подходящей их линейной комбинацией.

Из новых направлений теории линейного программирования в научной литературе выделяют работы Кармаркара (Karmarkar N.), в которых предложены другие пути решения задач, отличные от симплекс-метода.

48

12. Нобелевская лекция академика Л.В. Канторовича

MATHEMATICS IN ECONOMICS:

ACHIEVEMENTS, DIFFICULTIES, PERSPECTIVES

Nobel Memorial Lecture, December 11, 1975 by LEONID V. KANTOROVICH

I am deeply excited by that high honour which fell on my lot and I am happy for the opportunity to appear here as a participant of this honorable series of lectures.

In our time mathematics has penetrated into economics so solidly, widely and variously, and the chosen theme is connected with such a variety of facts and problems that it brings us to cite the words of Kozma Prutkov which are very popular in our country: "One can not embrace the unembraceable". The appropriateness of this wise sentence is not diminished by the fact that the great thinker is only a pen-name.

So, I want to restrict my theme to the topics which are nearer to me, mainly to optimization models and their use in the control of the economy for the purpose of the best use of resources for gaining the best results. I shall touch mainly on the problems and experience of a planned economy, especially of the Soviet economy. Certainly even within these limits I will succeed in considering only a few problems.

1. Specific peculiarities of the problems considered.

Before discussing methods and results I think it will be useful to talk about the specific peculiarities of our problems.

49

These are distinctive for the Soviet economy and many of them appeared already in the years just after the October Revolution. Then for the first time in history all main means of production passed into the possession of the people and there arose the need for the centralized and unified control of the economy of the vast country. This need appeared in very complicated and social conditions and met with some specific peculiarities. The following problems are related both to the economic theory and to the practice of planning and control.

1)First of all, the main purpose of economic theory was altered. There appeared a necessity to shift from study and observation of economic processes and from isolated policy measures to systematic control of the economy, to the common and united planning being based on the common aims and covering a long time horizon. This planning must be so detailed as to include specific tasks to individual enterprises for specific periods and to that common consistency of the whole this giant set of decisions was guaranteed.

It is clear that a planning problem of such scale did appear for the first time, so its solution could not be based on the existing experience and economic theory.

2)Economic science must yield not only conclusions on general economic problems concerning the national economy as a whole but also serve as the

basis for solutions concerning single enterprises and projects. So it needs the proper information and methodology to provide decisions that are in accordance with general goals and interests of the national economy. Finally, it must contribute not only general qualitative recommendations but also concrete quantitative and

50

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]