Файл: Математическое программирование и производственные задачи..pdf
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 30.10.2024
Просмотров: 62
Скачиваний: 0
мых решений задачи 1(4.1) — (4.4). При наличии хотя бы од ного положительного элемента в генеральном столбце выби ваем так называемую подозрительную строку, как в Методе последовательного улучшения плана, учитывая способ пре одоления возможных зацикливаний при проявлении вырож денное™ [14]. Затем добавляем ограничение вида (4.6), со
ответствующее |
подозрительной строке. Численное значение |
X в выражении |
(4.6) выбираем так, чтобы коэффициент при |
переменной, соответствующей генеральному столбцу, равнял
ся единице. |
Это требование выполняется, |
если |
|
а и\,- |
(4.7) |
Приращение |
целевой функции |
|
djо
b F = cJo
X
увеличивается с уменьшением X. Однако, летворяет (4.7), выбор малого значения X
кизменению знака переменной
'I а ЮI
^ — ^io |
I ~ la lJa. |
(4.8)
так как X удов может привести
Можно анализировать значения X и выбирать ее подходящее наименьшее значение, но такой анализ привел бы к услож нению вычислительной схемы. Поэтому целесообразно выб рать X = a.i]o. С целью экономии места для хранения элемен тов текущей симплексной таблицы и единообразия вычисли тельной схемы элементы столбцов, соответствующих базис ным векторам, не запоминаются. В симплексной таблице для каждого основного вектора с самого начала выделяется одна строка, причем строка, соответствующая внебазисному векто ру, заполняется нулями, за исключением пересечения этой строки со столбцом того же внебазисного вектора, где ста вится «— 1» [19].
Это означает, что в систему вида (4.5) добавляются фик тивные уравнения вида
82
х } |
о 2 |
ajkx J>n |
(4.9) |
еде |
|
|
|
О, |
если |
jk=hj, |
|
- 1 , |
если |
j k= j . |
|
Если в базис входит вектор, добавленный на некотором |
|||
шаге, то соответствующая строка исключается из |
системы |
ограничений, так как это условие оказывается линейно-зависи
мым от остальных. |
|
|
|
||
Если А=а,7 0 |
= 1, |
то добавленная |
переменная sk+\ = 0. |
||
В этом |
случае в |
качестве условия |
(4.6) |
выбирается г'-ая |
|
строка. |
Основная |
симплексная таблица |
имеет размеры |
(га-Ь2)Х(/и-|-1) (т = п '). Добавленное ограничение (4.6) записы ваем под основной симплексной таблицей (в (и-(-З)-ей строке таблицы) и реализуем симплексное преобразование, выбирая в качестве генеральной строки (я+3)-ю1б строку. Ясно, что
при этом генеральный элемент равен |
единице, |
вследстбйе |
|||||||
чего полученная |
после преобразований |
симплексная |
табли |
||||||
ца тоже будет целочисленной. |
|
|
|
|
|
||||
Введем следующие обозначения: |
|
|
|
|
|||||
а+ У (я+3)+/ |
номер ячейки |
памяти |
ЭВМ, |
хранящей |
|||||
элемент а,, симплексной таблицы; |
|
|
|
|
|
||||
-► —знак засылки содержимого |
одной ячейки |
в дру |
|||||||
гую; |
|
|
|
|
|
|
|
|
|
< Д > |
-содержимое ячейки Д; |
|
|
|
|
||||
t, |
k, |
k!—счетчики; |
|
|
|
|
|
||
j 0, |
t0—ячейки запоминания номеров генерального столб |
||||||||
ца и подозрительной строки; |
|
|
|
|
|
||||
<*-}-_/, P-И , с~И, Д -рабочие ячейки. |
|
|
|
|
|||||
Приведем |
вычислительную |
схему |
решения |
задачи |
|||||
(4.1,) -(4 .4 ') . |
|
|
|
|
|
|
|
||
1°. Нахождение mln<^a -1-У(« Ч-З)—1>->-Д; |
соответствующий |
||||||||
j -У/о- |
|
|
2<j<n |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2°. Сравнение <]Д^> с 0: |
|
|
|
|
|
||||
а) если <Х><С0. переход к 7°; |
|
|
|
|
|
||||
б) если < Д > > 0 , |
переход к 3°. |
|
|
|
|
|
83
3°. Сравнение <C?-f-«-r2> с 0: |
|
|
|
|
|
|
|||||||||||
а) |
если < у * + « + 2 > = 0 ,>переход |
к 4°; |
|
|
|
|
|||||||||||
б) |
если |
<a-r«+2>=/L0, |
|
останов |
1; |
задача |
(4.1) |
(4.4) |
|||||||||
неразрешима. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
4°. |
|
Нахождение |
min |
|
+ |
У (я + 3 ) -2 > |
> 4 ; |
соответствую- |
|||||||||
|
|
|
|
|
|
|
|
—1>« О |
|
|
|
|
|
|
|
||
щнй y'-v/o- |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
5°. Сравнение |
< Д > |
с 0: |
|
|
|
|
|
|
|
|
|||||||
а) если. < А > > 0 , |
переход |
к 6°; |
|
|
|
|
|
||||||||||
б) |
если |
< Л > < 0 , |
переход |
к 7°. |
|
|
|
|
|
||||||||
6’ . Выдача < а + / > |
(1 |
|
7 |
п) |
останов 2, |
задача |
(4.1) |
(4.4) |
|||||||||
решена. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
7°, |
|
Нахождение |
< а + (< у 0> |
- 1)(я + 3 )+ / > > 0 |
(с запомина |
||||||||||||
нием номеров |
соответствующих |
|
строк |
в |
ячейках |
с -f t\. |
|||||||||||
8°, Сравнение /г с 0: |
|
|
|
|
|
|
|
|
|
|
|||||||
а) если £ = 0 , |
останов 3; |
целевая |
функция |
не |
ограничена |
||||||||||||
(задача |
неразрешима); |
|
|
|
|
|
|
|
|
|
|
||||||
б) если |
к > 0, |
переход k |
9°. |
|
|
|
|
|
|
|
|||||||
9°., Формирование холостого хода в 16°. |
|
|
|
|
|||||||||||||
10°. |
1 -> t. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
11°. |
Составление |
отношения |
|
<Са + <Сс + |
с > |
________ |
|||||||||||
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
< « + ( < У > - 1 ) ( я - + - 3 ) - г < с + / > > |
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
►3 = с |
12°. Сравнение < £ > |
с к- |
|
|
|
|
|
|
|
|
||||||||
|
|
а) |
если < Г > < д £ , |
переход |
к |
13°, |
|
|
|
|
|||||||
|
|
б) |
если < 7 > = £ , |
переход к |
14°. |
|
|
|
|
||||||||
13°. |
|
|
|
|
переход к 1Г. |
|
|
|
|
|
|
||||||
14°. |
|
Нахождение |
|
m |
i n 0 + Г > |
|
(с |
запоминанием номеров |
|||||||||
равных минимумов в ячейках c + t , |
!< £ < £ '< £ ). |
|
|
||||||||||||||
15°. |
|
Сравнение k' |
с |
1: |
|
|
|
|
|
|
|
|
|
|
|||
|
|
а) |
если k'= \ , |
|
|
|
|
|
|
переход к 32°; |
|
||||||
‘ |
|
б) если &'>1, переход к 16°. |
|
|
|
|
|
||||||||||
16°. Холостой ход (переход к 22°). |
|
|
|
|
|||||||||||||
17°. <A+/>-voc+y(ffl+3), |
j = l , |
2, . . |
т . |
|
|
|
|||||||||||
18°. Расстановка <yx-f-y(«-j-3)> по возрастанию (у=1, 2 |
|
||||||||||||||||
19°. |
|
\->j. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
20°. |
|
1 -> t. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
21°. |
|
Сравнение < Х > |
с |
т\ |
|
|
|
|
|
|
|
|
84
а) |
если < 7 |
> <у?г, переход к 22°; |
|
|
|
|||||||
б) |
если < у > —"С переход |
к 24°. |
|
|
|
|
||||||
22°. Сравнение <У+У’(я+3)>с<у?+ Г>: |
|
|
|
|
||||||||
а) |
если |
<Ca+y(rt+ 3 ) > « C |
r ^ , |
переход |
к 26°; |
|
||||||
б) |
если < я + / (л + 3 )> > < с --М > , |
переход к 23°. |
|
|||||||||
23°. Сравнение < С > |
с k'\ |
|
|
|
|
|
|
|
|
|||
а) |
если <С ><Ж . переход к 25°; |
|
|
|
|
|||||||
б) |
если < Х > = & ', переход к 24°. |
|
|
|
|
|||||||
24°. < t+ C > |
|
переход |
к 32°. |
|
|
|
|
|
||||
25°. <Х >+1->-С |
переход к 22° |
|
|
|
|
|
|
|||||
26°. 1 - y l . |
|
|
|
|
|
|
|
|
|
|
|
|
27°. Сравнение < а + у '(« + 3 )> с |
</г ~С>: |
|
|
|
||||||||
а) |
если < а+/(и -(-3)>=< У г+ С >, |
переход |
к 29°; |
|
||||||||
б) |
если <а+у(/г+3)>=У=<А-Ь/>, переход |
к 28°. |
|
|||||||||
28°. < / > + 1 |
>-/, |
переход |
к 27°. |
|
|
|
|
|
||||
29°. Замена адреса 0 + < с + Г > > |
на <а+/(/г f 3 ) + < с + < » . |
|||||||||||
30°. < у > + 1 >У. |
|
|
|
|
|
|
|
|
|
|
||
З Г . Формирование перехода |
к 22° |
от |
16°, переход к |
11°., |
||||||||
32°. Сравнение < а + « У 0> |
П (/г+3)+<г0» |
с |
1: |
|
||||||||
а) если < я + |
« / |
0> — 1 ) ( я - г З ) + < г ' 0» |
= = 1 , переход х 3 4 р ; |
|||||||||
б) |
если |
< а |
К < у 0> |
-1)(/1+3)+< г'0» ¥ = 1 , |
|
переход к |
||||||
33°. |
|
|
|
|
|
|
|
|
|
|
|
|
33°. (/Н-3) >/z+<y0> , переход |
к 36°. |
|
|
|
|
|||||||
34е. <г'р> ^ h + < j 0> . |
|
|
yy.-+-j(n-*-3) (у = 1, |
|
|
|||||||
35°. <у*4~(У - 1)(/г+3)+<У'(С>У> |
2, . |
■,т) |
||||||||||
переход |
к 37°. |
|
|
|
|
|
|
|
|
|
||
36°. |
<а-!-(у |
1 )(/г+ 3 )+ < /0» |
| |
|
|
|
||||||
|
|
|
|
|
|
|
|
>'■> /'(/г-гЗ) |
|
|||
< а Ь(<Уо> - 1 ) ( л + 3 ) + < / о » | |
|
|
|
|
||||||||
(У‘= 1 , 2, . . |
от). |
|
|
|
|
|
|
|
|
|||
37°. Реализация |
симплекс-преобразования: |
|
|
|
||||||||
|
|
- 1)(/г~ЬЗ)-|-С> |
<a+y(/7.+3)>X <a j- |
|
|
|||||||
|
Н~(<Уо> —■1 )(п+ 3 ) + t> |
уу--г (/—1)(п+ 3 ) - {-i ; |
|
|||||||||
О—< яФ « У о > —1)(/г+ 3 )ф 7 > |
уу-~Г(<Уо> -1)(Л +-3)+С |
|||||||||||
г —1, 2, |
. . |
/г+2, |
у—1, |
2, . . |
у'0— 1, у'0+ 1 , . . |
m-f-1, |
||||||
переход к 1°. |
|
|
|
|
|
|
|
|
|
|
||
Замечание 4.1. В машинах, имеющих индексные регистры, |
||||||||||||
блоки сравнения индексов и замены (например, |
блоки |
12° и |
85
13’ 8 приведенной схеме) реализуются одной групповой опера цией.
Замечание 4.2. Введением блока анализа номера вектора,, стоящего в генеральном столбце и одновременным перемеще нием блока 32° между блоками 15° и 16°, можно избавиться;
от блоков 17°—31°, |
но это осложняет вычислительную схему.. |
|
Замечание 4.3. |
В ячейках |
2, . . ., т) с самого- |
начала даются соответствующие "номера внебазисных основ ных векторов.
Замечание 4.4. Так как номера (и упорядоченность) до бавленных векторов не существенны, то всем этим векторам
приписывается |
один и тот |
же номер— (я + З). |
|
Замечание 4.5. Для полноты программы необходимо пе |
|||
ред блоком Г |
иметь блок |
вычисления элементов (я + 2 )-ой |
|
строки: |
|
|
|
О—V |
а,7 - ►?.+ (/—l)(«-f-3)— 1, j - 1, 2, . . ., m4 1, |
||
<■- |
i |
|
|
где /я' —количество уравнений в исходной системе (4.2). Пример. Найти максимальное значение линейной функ
ции
f(X ') = 2х1—х 2-\-Зх3—2х'4—10х.
при условиях
Л',—х , |
2х3— 2л'4 — 6х5 = 2, |
х\-12х2—х 3-\-7х\ 4- Зх, = 5, |
|
—х;+л-2+ х 3—х 4' = 4, |
|
х\~5?0, |
Л'2>0, Xj>-0, х ’> 0 . A'-Si-O, |
л'р л',„ х 3, л*4, х .— целые числа.
Сформулируем соответствующую расширенную задачу. Найти максимальное значение линейной функции
f ( X ) — —M (x1-\-x2-\-x3)-{-2xi A'5-f-3A'e 2л', 10a's
86
при условиях |
|
|
|
|
|
|
|
|
|
х 4— 2 |
(х4 |
xs-|-2xg |
2х7 |
6х 8), |
|
|
|||
Хд—-5 |
(х4—{—2х- |
х 6-• 7х 7+ З х 8), |
|
|
|||||
х3= 4 —(—х 4+ х 5+ х в—х,4-0 ■х 8), |
|
||||||||
ху—целые неотрицательные (у'=1, 2, . . |
8). |
||||||||
Добавим ограничения |
вида |
(4.9): |
|
|
|
||||
х 4= -0 —(—х4+ 0 |
•х 5-|-0 •хв+ 0 |
•x 7-fO •х8), |
|||||||
х 5 |
0 |
(0 •х4 |
х 5-(-0 •Xg-f-0 •х 7+ 0 •х 8), |
|
|||||
хв= 0 —(0 •х4+ 0 |
•х5—х 8+ 0 ■х 7-|-0 •х 8), |
|
|||||||
х 7= 0 — (0 •х 4+ 0 |
•х 5+ 0 |
•х в—х 74-0 •х 8), |
|
||||||
х 8= 0 —(0 •х 4+ 0 |
•Xg-j-0 •хе+ 0 |
•х 7—х 8). |
|
||||||
Элементы матрицы условий и компоненты вектора огра |
|||||||||
ничений заполняются |
в |
первых |
восьми |
строках |
исходной |
||||
симплексной |
таблицы. |
Коэффициенты |
целевой функции с |
обратным знаком помещаются в 9-й строке, а в 10-й строке— суммы элементов первых восьми строк соответствующих столбцов с обратным знаком; наверху каждого столбца по мещается номер внебазисного вектора. Как видно из таблицы, минимальный элемент в 10-й строке будет—4 (напомним, что при выборе минимального элемента нулевой столбец не участ вует). Значит, вектор условий Л7 подлежит вводу в базис. В
столбце А1 единственный положительный |
элемент |
(7) стоит |
бо 2-й строке. Следовательно, 2-я строка |
является |
подозри |
тельной. Разделим все элементы 2-й строки на 7 и целые части частных поместим в 11-й строке. Таким образом, генеральный 'элемент будет 1. Добавленному на каждом шаге вектору при сваивается один и тот же номер— 11.
Процесс решения задачи дан в нижеприведенных табли цах. В текущей симплексной таблице генеральный столбец отмечается стрелкой; элемент, стоящий на пересечении гене рального столбца и подозрительной строки, заключается в кружок, а правее таблицы указывается номер итерации.
87