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

книги из ГПНТБ / Пивоваров, С. Э. Моделирование процессов прогнозирования в приборостроении

.pdf
Скачиваний:
13
Добавлен:
19.10.2023
Размер:
6.89 Mб
Скачать

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

Иногда проще определить план Х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

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