
книги из ГПНТБ / Пивоваров, С. Э. Моделирование процессов прогнозирования в приборостроении
.pdfвычисления исходного опорного плана задачи линейного программирования.
Иногда проще определить план Х2-задачи, чем ее опорный план. Так бывает, например, в тех случаях, когда Х2-задачу по каким-либо причинам целесообразно решать итерационным методом.
Пусть (^(р = 1, q) — план Х2-задачи (вообще говоря, неопор ный). Введем обозначения
= (ci> Ы . |
Рч = ^ |
| |
■ |
|
||
Легко видеть, что задача |
максимизации |
линейной формы |
|
|||
|
|
q |
|
|
|
(5.2.88) |
У| |
CTV2 V + 2 |
°ц.гц |
|
|||
v = l |
|
|
|
|
|
|
при условиях: |
|
q |
|
|
|
|
N2 |
|
|
|
|
(5.2.89) |
|
У i PvZv + |
Рц2ц — B\\ |
|||||
V = 1 |
|
Ц = 1 |
|
|
|
|
Z v S s O , |
(v = |
1, N2)-, |
| |
(5.2.90) |
||
|
|
(p = |
1, q) |
|
1 |
|
Z ^ O |
, |
|
|
эквивалента Z-задаче. Поэтому в качестве исходного опорного плана Z-задачи можно принять любую линейно независимую си стему из Му + 1-векторов условий задачи (5.2.88) — (5.2.90), обла дающую тем свойством, что компоненты разложения вектора огра
ничений В\ по векторам этой системы неотрицательны.
5.3. Алгоритмы и программа
Задача параметрического линейного программирования решается по общим правилам методов последовательного улучшения плана или последовательного уточнения оценок (в зависимости от того, где присутствует параметр /) с внесением соответствующих измене ний в вычислительные процедуры.
Первая частная задача, учитывающая наличие параметра в коэф фициентах линейной формы, реализуется с помощью первого или второго алгоритма метода последовательного улучшения плана. Причем вместо одной строки оценок векторов условий — (М + 1)-й
строки в таблицах первого алгоритма или строки А вспомогательной
д, таблицы второго.алгоритма — вводятся три строки А/,, А/, и — ~
Ii
Для случая 1° и две строки А/, + /5Д/2 и Д/2 для случая 2°. (Допол нительные строки отсутствуют только при вычислении исходного опорного базиса).
Процесс решения параметрической задачи начинается с ее ана лиза (по общим правилам метода последовательного улучшения
12:
плана) для некоторого значения ( = t0. Анализ завершается слу чаем 1° или 2°.
По выявлении случая 1° |
вводятся три строки оценок, |
причем |
|
д, |
лишь позиции, отвечающие |
А/, < |
0. |
в строке — д-1- заполняются |
|||
/2 |
|
|
то |
Если все позиции последней строки оказались незаполненными, |
текущий базис оптимален для всех t0. В противном случае ■индекс минимального элемента этой строки определяет номер век тора, подлежащего включению в базис, а значение минимального элемента совпадает с правой границей множества оптимальности
текущего |
базиса. |
Если предварительный |
анализ задачи |
привел |
|||
к случаю |
2°, |
то |
при Д*2 ^ |
0 фиксируют |
неразрешимость |
задачи |
|
при всех t ^ |
t 0, а при Д*2> |
0 заполняют строки А/, + ^Д/, |
= |
ДL \
=— д-Ч и А/2. Выбор вектора, подлежащего включению в базис,
определяется одним из отрицательных элементов первой строки. При необходимости исследовать задачу слева от точки t0 в алго-
Д ,
ритм следует внести изменения: в случае 1° в строке — дДзапол-
I2
няются только позиции, отвечающие Д/2> 0 , а вектор, подлежащий введению в базис, определяется максимальным элементом этой строки; в случае 2° решение продолжается лишь при А*2 < 0 (усло вие Д*2 0 указывает на неразрешимость задачи слева от точки t0).
Если предварительный анализ задачи привел к случаю 2°, то через конечное число шагов выявляем условия неразрешимости задачи (слева или справа от t0) или переходим к случаю 1°. Исследо вание задачи в соответствии с правилами случая 1° через конечное число итераций завершается либо построением базиса, множество оптимальности которого — луч, либо выявлением луча, внутри которого задача не имеет решения (направление луча соответствует направлению изменения параметра при анализе задачи). В процессе решения параметрической задачи выгоднее двигаться в одном фик сированном направлении. Поэтому, если заданный диапазон изме нения параметра t представляет собой луч или отрезок, то целесооб разно начать вычисления с одного из его концов. Если же необхо димо исследовать задачу на всей оси t, то в качестве начала можно выбрать t — °о или t — —оо (в первом случае предварительный анализ требует максимизации линейной формы
N
Е 4 '* /’
/= 1
во втором случае он сводится к минимизации этой формы).
Итак, данный алгоритм соответствует алгоритму метода после довательного улучшения плана, но отличается особым правилом выбора вектора, подлежащего включению в базис, и специальными признаками, определяющими выработку команды на прекращение вычислений.
128
Рассмотрим теперь алгоритм задачи параметрического програм мирования для случая, когда от параметра линейно зависит вектор ограничений. Решение задачи начинается с вычисления её оптималь ного для одной (любой) из точек t0 заданного диапазона изменения параметра t. Если этот диапазон представляет собой луч или отре зок, удобно начинать вычисления с крайней точки, чтобы двигаться в процессе решения задачи в одном направлении.
Для начальной точки t0 задача реализуется методом последова тельного улучшения плана или методом уточнения оценок в зависи мости от того, что проще вычислить — исходный опорный план или псевдоплан задачи.
Если в результате анализа задачи для t — t0 выяснится неогра ниченность её линейной формы, то делается вывод о неразрешимости параметрической задачи при всех значениях /. Если же исследова ние этой задачи завершается либо построением оптимального плана (случай 1°), либо выявлением несовместимости её условий (случай 2°), то необходимо использовать метод параметрического програм мирования, изложенный выше. Алгоритм составляется путем моди фикации одного из алгоритмов метода уточнения оценок (первого или второго). В случае 1° в таблицы метода уточнения оценок вместо одного столбца Л0 целесообразно ввести три столбца: в первый стол бец Ло записываются компоненты X'th', во второй столбец Л,' — со
ставляющие вектора *г20', третий столбец заполняется отношениями —
( 1>
---- jjj- . Если параметр t в процессе анализа возрастает (убывает), то
хю
заполняются лишь те позиции третьего столбца, которым отвечают
*й‘ < 0 (хй’ > 0).
Вектор, подлежащий исключению из базиса, определяется ми нимальным элементом этого столбца в случае убывания /. В осталь ном итерация тождественна с отдельным шагом метода уточнения
оценок. Минимальный (максимальный) |
элемент |
третьего столбца |
|
в случае возрастания (убывания) параметра |
I |
определяет пра |
|
вый (левый) конец множества оптимальности |
текущего псевдо |
||
базиса. |
|
|
|
Процесс заканчивается либо выявлением условий неразреши |
|||
мости |
|
|
|
xrJ^ 0, (; = 1, |
N). |
|
|
где г — номер вектора, выбранного для исключения из базиса, либо при полном отсутствии элементов в третьем столбце. В первом слу чае фиксируется неразрешимость задачи справа от точки (*, если параметр / в процессе анализа возрастал, и слева от точки t*, если t убывал (здесь t* — элемент третьего столбца, отвечающий вектору, подлежащему исключению из базиса).
Во втором случае очередной псевдобазис является оптимальным для луча [/*,оо), если t возрастает, и для луча (—оо, (*j, если / убывает.
Б С, Э, Пивоваров ■ |
129 |
Если представительный анализ задачи для случая 2° завершился выявлением несовместимости ее условий при / = /0
xr0 (к) = Vo + |
toX'ro < 0 , |
xrJ Ss О, |
(/ = |
1, /V), |
где г — номер строки, |
для которой выполнены условия несовме |
|||
стности, то при х'гл — 0 |
делается |
вывод о |
несовместности |
условий задачи для всех t. В противном случае вычисляем tx = — хгО*гО
и вместо одного столбца А 0 вводим в таблицы два столбца: в первый столбец А ’) записываются компоненты xfi, во второй столбец Л0 (t)—
составляющие х,0 (к) = Vi + txxk. |
||
Если |
> 0, |
то задача неразрешима слева от tx и дальнейший |
анализ |
следует |
проводить лишь для точек луча [tlt оо). Если |
Xni < 0 , то исследование задачи следует вести только для луча (—оо, |
^]. Правее точки к условия задачи несовместны. Выбор вектора, подлежащего исключению из базиса, определяется одним из отри цательных элементов второго столбца. В остальном сохраняются правила метода уточнения оценок. Если процесс завершается по строением оптимального плана, то дальнейший анализ проводится в соответствии с рекомендациями случая 1°. Если же выявляются условия неразрешимости (/уй элемент г-го столбца отрицателен, элементы /уй строки, начиная с третьего, неотрицательны), то дальнейший ход вычислений определяется знаком /уго элемента
столбца |
А"0. |
|
|
|
|
|
|
|
|
|
||
|
Пусть анализ задачи проводится справа (слева) отточки t*. При |
|||||||||||
на |
V |
0 |
(х'г^ ^ |
0) |
фиксируется |
несовместность |
условий |
задачи |
||||
всей |
оси t. |
При |
х'г%> |
0 (х ^ |
< 0) |
столбец |
А 0 (к) заменяется |
|||||
на |
|
|
|
|
|
Vo |
|
процесс |
анализа |
параметрической |
||
Ао (/2), гДе к — — ^ттг, и |
||||||||||||
задачи |
|
продолжается |
по |
рекомендациям случая 2°. При этом |
||||||||
слева |
(справа) |
от |
|
/2 |
фиксируется |
несовместность |
условий |
|||||
задачи. |
реализация данного |
случая представляет собой |
процесс |
|||||||||
|
Итак, |
решения задачи методом уточнения оценок, который отличается осо бым правилом выбора вектора, исключаемого из базиса, и специаль ными признаками, определяющими выработку команды на прекра щение вычислений.
Анализ частных задач может послужить основой для построения схемы алгоритма общей задачи линейного параметрического прог раммирования.
Исследование следует начать с решения задачи для некоторого значения t = /0.
Пусть для определенности при t = t0 на некоторой итерации процесса решения получен оптимальный план общей задачи, кото
рому соответствует |
система векторов |
(/), |
A i2 (t), |
Aim |
((). |
Разложим вектор |
ограничений и векторы |
условий |
задачи |
по |
130
векторам этой системы (для тех t, при которых она является основой):
|
|
м |
A0(t) = B = |
£ xi0(t)As. (0; |
|
М |
|
|
А, (/) = Ц |
'0 |
4 S, (0, (/= 1 . N). |
{= 1 |
|
|
Оценки Дj (t) векторов условий .4/(0 относительно выбранной
основы вычисляются по формулам |
|
____ |
м |
|
|
Л/ (0 = £ с \ (0 х и (*> - |
(0. |
(/=1, А^). |
г = 1 |
|
|
Полученная система векторов (основа) является базисом решения задачи в диапазоне изменения параметра (, для которого удовлетво ряется система неравенств
|
*;o(0 S s0 , |
(t = 1, |
|
|
Л/(0 5s 0, |
0 = 1, (V). |
|
причем предполагается, что определитель |
б (/) рассматриваемой |
||
системы векторов не равен нулю. |
с учетом требования |
||
Решив |
указанную систему |
неравенств |
|
б (/) Ф 0, |
получим множество оптимальности данной основы. Левые |
части этих неравенств в общем случае представляют собой отношения некоторых многочленов относительно t. Поэтому построение мно жества оптимальности сводится к решению ряда алгебраических уравнений. Очевидно, в общем случае множество оптимальности состоит из нескольких компонент. Для дальнейшего анализа сле дует выбрать одну из граничных точек (точку /х) множества опти мальности и приступить к исследованию задачи в том из достаточно малых интервалов, примыкающих к tx, который содержится в ещё не рассмотренной части оси (. Пусть этим интервалом для опреде ленности является (tx, tx -+- е). Решим общую задачу при t = tx + е, где и — достаточно малое положительное число. В качестве исход
ной |
принимается |
основа, являющаяся оптимальным базисом для |
( = |
/х + е. При |
этом следует использовать рекомендации, данные |
при рассмотрении частных случаев. В соответствии с ними через несколько итераций методов улучшения плана и (или) уточнения
оценок |
либо будет получен оптимальный базис для интервала |
(/х, tx + |
е), либо на основе свойств некоторой системы векторов ус |
ловий будет выявлена неразрешимость задачи в том же интервале. По отношению к новой основе проводится исследование, анало гичное ранее рассмотренному. В результате устанавливается мно жество значений параметра, для которого сохраняются свойства основы, имеющие место для указанного интервала (условия опти
малыюсти или неразрешимости).
5* |
13i |
Далее выбирается одна из граничных точек множества исследо ванных значений параметра t, в сколь угодно малой окрестности которой имеются точки, не принадлежащие этому множеству. От правляясь от этой точки, определяют новое множество оптималь ности или неразрешимости. Приведенная процедура закончится через конечное число шагов, поскольку общее число базисов задачи, которые могут быть составлены из М векторов условий, конечно.
В результате параметрическая задача будет исследована для всего заданного диапазона изменения параметра t, за исключением, быть может, конечного числа точек. В отдельных случаях требуется специальный анализ задачи при этих особых значениях параметра.
Отметим, что особые значения параметра характеризуются следующим свойством: системы векторов условий, порождающие
множества оптимальности или |
неразрешимости, примыкающие |
с обеих сторон к особой точке (*, |
линейно независимы при t = t*. |
Анализируемая схема алгоритма может быть перенесена на до статочно широкий класс нелинейных зависимостей условий задачи
от параметра t. |
Например, это относится к случаю, когда |
условия |
|||
задачи являются аналитическими функциями параметра. |
|
|
|||
Предположение об аналитической зависимости данных задачи |
|||||
от параметра t |
гарантирует, что при достаточно малом е > |
0 опти |
|||
мальный |
базис |
задачи |
для / = ^ + е остается оптимальным |
для |
|
всех / е |
(/j, tx + |
в], а условия неразрешимости задачи при t |
= ^ |
+ е |
|
сохраняются для всех |
(A, t\ + е]. Этот вывод вытекает из извест |
ного свойства аналитических функций: точка, в которой отличная от тождественного нуля функция аналитична, не может быть пре дельной для нулей данной функции.
Рассмотренный алгоритм задачи линейного параметрического программирования является сложным и особенно трудоемким при наличии параметра t у всех коэффициентов модели определения оптимального варианта прогноза развития отрасли. Причем иссле дованная схема не позволяет учесть параметр t, оказывающий влия ние и на переменные модели.
Поэтому при решении общей задачи приходится, проводя ча стичный анализ применительно к параметрическому программи рованию, в основном использовать непосредственно методы ли нейного программирования, а в условиях оптимизации экономиче ских систем целесообразно применять методы блочного программи рования, а именно, метод разложения.
Рассмотрим более подробно алгоритм решения задачи опреде ления оптимального варианта прогноза развития отрасли методом разложения. Система условий задачи разбивается на блоки 1 и 2, размеры которых определяются емкостью оперативной памяти ЭВМ. При разделении матрицы А = ||а^|| условий задачи на матрицы А1 и А2 естественно включать во второй блок условия, приводящие к возможно более «редкой» матрице А2. Таким образом обычно удается упростить вычисление оптимальных планов Х А-задачи на различных итерациях решения Z-задачи.
132
Z-задача решается по правилам второго алгоритма метода по следовательного улучшения плана [80]. Однако особенности метода разложения заставляют внести некоторые изменения в вычисли тельную схему второго алгоритма.
При решении Z-задачи заполняются только элементы матрицы Е1 (рис. 10, а), при этом необходимость во вспомогательной матрице
а)
CN
+
5
б)
+
2S
О к |
|
0 |
0 |
0 |
1 |
0 |
2 |
0м .
-—
Ь\
ь г
•
-
|
|
|
|
|
|
р к |
8 |
|
/ |
0 |
0 |
|
0 |
1 |
1 |
0 |
0 |
|
I |
0 |
. . . |
0 |
0 |
0 |
0 |
0 |
bt |
0 |
1 |
|
0 |
0 |
0 |
0 |
0 |
|
|
|
. . . |
* |
. |
• |
• |
• |
|
|
|
|
|
||||
|
|
|
|
|
|
|||
ь м, |
0 |
0 |
, . . |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
0 |
0 |
0 |
— |
— |
Lz |
X, |
Я2 |
Мг+7 |
|
Я |
|
|
|
|
|
|
|
|
|
|
|
|
Оц |
Q\n |
|
° 1 3 |
. |
|
|
°l N |
|
°2! |
О22 |
°23 |
. |
|
|
a 2' N |
||
• |
|
|
, |
. |
|
|
• |
|
|
|
|
|
|
|
|
|
|
а м и |
а м „ |
|
|
. |
|
|
а М |
N |
|
с г |
|
сз |
. |
|
|
CN |
|
|
|
|
|
N + 1 |
|
|
|
|
Рис. |
10. |
Исходные матрицы блока |
1 |
|
|
|
а —матрица типа Е1; б—матрица типа А1
отпадает. Вместо последней целесообразно ввести матрицу А1 (рис. 10, б), в которой фиксируются строки матрицы условия А1 и коэффициенты Cj линейной формы исходной X-задачи.
Пусть /-я итерация решения Z-задачи закончена. В результате заполнена /-я основная таблица Е1 Z-задачи (кроме двух столбцов рк и 0). Пользуясь величинами Яг, полученными в/-й итерации, форми руем линейнуюформу Хлзадачи. Решение Хл-задачи целесообразно также проводить по правилам метода последовательного улучшения плана. При этом можно использовать оптимальный план ХЛ-задачи, отвечающий /-й итерации, в качестве начального опорного плана Хл-задачи, полученной на (/ + 1)-й итерации.
133
Такой порядок вычислений обычно сокращает количество ите раций, необходимых для решения ряда Л Л-задач. Выбор первого или второго алгоритма метода улучшения плана для решения ХЛ-за- дач определяется структурными особенностями матрицы А2.
При решении X д-задачи по второму алгоритму метода последо вательного улучшения плана, так же как и при решении Z-задачи,
а)
+
I 5
0 |
м х+ 1 |
Ьм 1+1 |
1 |
0 |
|
|
0 |
|
0 |
0 |
0 |
0 |
М , + 2 |
ЬМ ,+ 2 |
0 |
1 |
|
|
0 |
|
0 |
0 |
0 |
• |
* |
• |
• |
|
|
|
|
|
|
, |
|
|
|
|
|
• |
|
|
■ |
||||
|
|
|
|
|
|
|
|
|
|
|
|
0 |
м |
ЬМ |
0 |
0 |
|
|
0 |
|
1 |
0 |
0 |
|
|
|
|
|
|||||||
— |
— |
0 |
0 |
0 |
|
|
0 |
|
0 |
0 |
— |
|
|
|
^1 |
^ |
|
^М—М,—I |
М, |
|
|
||
|
|
|
|
М—М. +5 |
|
|
|
|
|
||
ь м , + \ “ м . - и д |
а М , + |
1,2 |
■ . . |
а М , + 1. |
N |
/ |
0 |
|
0 |
0 |
|
bM t+'J |
а М , + 2 . 1 а Л 1 , + 2 , 2 |
|
а М ,-f-2, |
N |
0 |
1 |
|
0 |
0 |
||
■ |
* |
|
|
. . . |
|
|
|
|
. . . |
|
* |
|
, |
|
щ |
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
||
ьм |
ам\ |
° М 2 |
|
. . . |
а М N |
|
0 |
0 |
. . . |
0 |
1 |
— |
С\ |
Cl |
|
|
CN |
|
— |
- |
|
— |
— |
|
|
|
N + ( M - М р + 1 |
|
|
|
|
|
|
||
|
|
Рис. 11. |
Исходные матрицы блока 2 |
|
|
|
|||||
|
|
а —матрица типа Е2; б — матрица типа |
А2 |
|
|
|
формируются основная матрица Е2 (рис. 11, а) и вспомогательная матрица А2 (рис. 11,6).
В столбец рк основной матрицы Е1 Z-задачи записываются ком поненты разложения вектора рк по векторам текущего базиса. Столбец 0 основных матриц Е1 и Е2 заполняется в соответствии с об щими правилами второго алгоритма метода последовательного улуч шения плана. Далее, как обычно, определяется вектор, подлежащий исключению из базиса Z-задачи, и по известным рекуррентным фор мулам заполняется главная часть основной матрицы Е1, отвечающей очередной итерации. Через конечное число шагов приходим к ре шению Z-задачи или устанавливаем ее неразрешимость (неограни-
134
ценность линейной формы на множестве возможных планов). Ли нейная форма Z-задачи может быть не ограничена в области своего определения только в случае неразрешимости Х-задачи.
Рис. 12. Блок-схема алгоритма метода разложения (оптимизации)
Оптимальный план Х-задачи определяется через компоненты г% решения Z-задачи и оптимальные планы xv последовательных Хдзадач [22].
Блок-схема алгоритма метода разложения (оптимизации) на /-й итерации представлена на рис. 12. Рассмотрим пошаговый алгоритм
135
Рис. 13. Шаг 1 алгоритма оптимизации
136