ИНТЕРВАЛЬНЫЙ ПОДХОД К РЕШЕНИЮ БАЛАНСОВЫХ ЗАДАЧ

advertisement
ИНТЕРВАЛЬНЫЙ ПОДХОД К РЕШЕНИЮ БАЛАНСОВЫХ ЗАДАЧ
А. В. Король, В. В. Поляков, Т. С. Терновская
ПетрГУ, г. Петрозаводск
Использование математических моделей балансовых задач для оценки текущего
состояния и прогнозирования работы сложных химико-технологических комплексов,
характерных для целлюлозно-бумажной, химической и нефтеперерабатывающей
промышленности (близкие по характеру задачи возникают и в энергетике), наталкивается
на проблему реализации рассчитываемых решений.
Практически неосуществимо в течение достаточно продолжительного времени
поддерживать параметры реальной технологической системы строго на уровне расчетных
значений – неизбежны их флуктуации. По этой причине в ряде работ рассматривается
интервальный подход к моделированию и решению задач оптимального планирования
работы технологических систем с непрерывными процессами производства, связанный с
поиском допустимых и оптимальных решений в виде интервалов значений управляемых
параметров.
Применительно к балансовым задачам решение в этом случае выбирается таким, чтобы
баланс (материальных, энергетических потоков и др.) обеспечивался при любых
комбинациях значений управляемых параметров, если каждый из них не выходит за
границы выбранных интервалов. Интервальное решение представляет собой N-мерный
параллелепипед (N – число управляемых факторов) с гранями, параллельными осям
координат, для всех угловых точек которого выполняются соотношения (ограничения)
баланса. Если речь идет о выборе оптимального решения, то координаты центра такого
параллелепипеда должны обеспечивать наилучшее значение заданного функционала.
Если балансовая задача формулируется аналогично задаче линейного программирования
(ЛП) со специальными требованиями к решению (в виде интервалов, задача ИЛП), то в
тех случаях, когда ширина интервалов строго задана, поиск решения задачи ИЛП не
представляет большой сложности и сводится к последовательному решению двух задачи
ЛП. Гораздо более сложным является случай, когда ширина интервалов зависит от
выбранного оптимального решения, то есть от местоположения центра N-мерного
параллелепипеда. В этом случае приходится прибегать к относительному заданию
ширины интервалов, например, как доли j от значения соответствующей координаты xj
центра параллелепипеда или какого-либо другого параметра.
Если отталкиваться от формулировки балансовой задачи в форме задачи линейного
программирования, то интервальная задача в самом общем виде формулируется таким
образом:
 Cj xj extr,
(1)
jN
 AijXj  Bi
 iM,
(2)
jN
где Xj может принимать любое значение из интервала [xj–|xj|j/2, xj+|xj|j/2],  jN и
0  dj  xj |xj|j/2, xj+j+|xj|j/2  Dj
 jN,
(3)
 jN.
(4)
то есть
dj  Xj Dj
По отношению к классической задаче ЛП, решение задачи ИЛП представляет собой
параллелепипед, полностью погруженный в область допустимых решений (ОДР) задачи
ЛП, центр которого максимально близок к точке оптимального решения задачи ЛП. При
этом для всех угловых точек параллелепипеда должны выполняться ограничения (2).
Последнее обстоятельство позволяет использовать для поиска оптимального решения
задачи ИЛП два различных подхода – либо формулировать ограничения вида (2) для
каждой угловой точки параллелепипеда (что резко увеличивает размерность задачи ИЛП
по сравнению с размерностью задачи ЛП), либо использовать метод, при котором
выполняется последовательное решение задачи ЛП, с такой корректировкой ее
параметров, чтобы центр параллелепипеда "погружался" в соответствующую точку ОДР
задачи ЛП.
Для случая, когда величина j является заранее заданной (фиксированной), был
предложен метод решения задачи ИЛП, связанный с двукратным решением задачи ЛП.
После первого решения правые части ограничений задачи ЛП изменялись таким образом,
чтобы уже следующее оптимальное решение задачи ЛП являлось центром
параллелепипеда ОДР интервальной задачи.
Однако если ширина интервала j является величиной, зависящей от значений границ
интервала, предложенный подход не позволяет получить искомое решение, поскольку
при "погружении" параллелепипеда в ОДР задачи ЛП его размеры будут изменяться.
Авторами предлагается описываемый ниже эвристический алгоритм, позволяющий
получить приближенное решение заданной точности за конечное количество этапов
решения задачи. Точность понимается как предельно допустимое различие между
значениями правых и левых частей ограничений для выбранного решения в тех случаях,
когда значение левой части ограничения типа (2) превышает значение правой (для
ограничений типа "больше или равно" – значение левой части меньше правой).
Этап 1.
Из соотношений (1), (2) и (3) формируется текущая задача ЛП. Задается некоторое малое
положительное  – необходимая точность выполнения ограничений задачи (возможно,
различная для каждого ограничения).
Этап 2.
Решается текущая задача ЛП.
Этап 3.
Если текущая задача не имеет решения, то считается, что не имеет решения и
интервальная задача, – решение заканчивается. Иначе определяется вектор,
соответствующий оптимальному решению X текущей задачи ЛП.
Этап 4.
Строится параллелепипед с центром в точке оптимального решения задачи ЛП. Для
каждой из угловых точек параллелепипеда проверяется выполнение каждого из
ограничений текущей задачи ЛП путем подстановки координат угловой точки в левые
части ограничений вида (2).
Если ни одно из ограничений не нарушается, то вектор X можно считать центром
решения задачи ИЛП и решение прекратить.
Однако если все ограничения выполняются как строгое неравенство и различие между
значениями правой и левой части превышает , то найденное решение не является
оптимальным.
Этап 5.
Если при выполнении этапа 4 были зафиксированы нарушения ряда ограничений,
превышающие , то для всех этих ограничений значение правой части изменяется
(уменьшается для ограничений типа "меньше или равно", увеличивается для ограничений
типа "больше или равно") так, чтобы для следующего оптимального решения X данные
ограничения выполнялись как строгое равенство (в предположении, что размеры
параллелепипеда останутся прежними). Данное преобразование равносильно
перемещению ряда граней многогранника ОДР задачи ЛП таким образом, чтобы точка
оптимального решения и, следовательно, центр параллелепипеда, оказались смещенными
внутрь ОДР задачи ЛП.
Если все ограничения выполнялись как строгое неравенство и разница между значениями
левой и правой части хотя бы одного превышает , то производятся аналогичные
преобразования.
Результатом этапа 5 является новая текущая задача, после чего выполняется возврат к
этапу 2.
В результате выполнения описанного алгоритма точка, соответствующая центру
параллелепипеда – области решений задачи ИЛП, осциллируя, приближается к точке
оптимального решения.
Так как число ограничений и число угловых точек параллелепипеда решений задачи ИЛП
конечны и точность решения отлична от нуля, то предлагаемый алгоритм позволит за
конечное число шагов получить искомое интервальное решение с заданной точностью.
Достоинство предлагаемого алгоритма связано с тем, что размерность текущей задачи
остается постоянной, то есть трудоемкость ее решения от этапа к этапу не возрастает. В
то же время, учитывая интервальный характер решения балансовой задачи, на практике
не имеет большого значения тот факт, что результатом является субоптимальное
решение.
Download