книги / Типовые задачи оперативного управления непрерывным производством
..pdfционный поиск и реорганизацию данных. Программное обеспечение для работы с терминалами или другими ЭВМ может выполняться совместно с программным обеспечением банков данных. Описание банков данных выходит за пределы тематики данной главы и здесь не приводится.
Отметим, что наряду со сложным программным обеспечением банков данных или даже совместно с ним используются простые системы обслуживания данных, применяемые в различных пакетах программ. Примера ми могут служить процедуры обслуживания данных
впакетах программ линейного программирования, в па кетах программ для различных инженерных расчетов и
вдругих случаях, когда приходится оперировать с чис ловыми данными относительно небольшого объема.
Вразличных функциональных задачах АСУ часто применяются одни и те же элементы программного обеспечения’ (ПО), например программы математиче ского программирования, программы статистики, печати таблиц и, кроме того, имеются специальные программы, выполняющие некоторые функции только в этой задаче или организующие обмен данными между задачами.
Возможная взаимосвязь функциональных подсистем АСУ и программного обеспечения показана в табл. 8-1.
Эта таблица служит только для иллюстрации при меняемости различного ПО в функциональных задачах АСУ и не претендует на полноту. Например, здесь нет таких задач, как планирование ремонтов, материальнотехнического снабжения и других, которые могут быть
определяющими для некоторых систем. Отметим, что в табл. 8-1 приведено как ПО общего назначения, при меняемое для различных целей, в том числе в системах управления, так ПО, специально разработанное для АСУ, например пакет программ контроля и управле ния, специальные программы для решения отдельных функциональных задач.
В этой главе рассмотрим вопросы построения ПО для тех задач табл. 8-1, которые связаны со спецификой моделей непрерывных производственных процессов и рассмотрены в гл. 1—6.
Что касается специальных программ для технико-эко номического, календарного планирования и оперативно го управления, то ограничимся лишь кратким определе нием функций этих программ. При составлении табл. 8-1
Различные функциональные задачи АСУ (текущего и календарного планирования, оперативного управле ния) могут быть написаны для достаточно широкого круга предприятий или для конкретных условий одного предприятия. Первое представляется предпочтительным, в частности, потому, что условия работы предприятия могут изменяться. Для того чтобы удовлетворить тре бованиям ряда предприятий с непрерывными техноло гическими процессами, должна быть предусмотрена возможность использования различных моделей агрега тов и реализация различных вариантов постановок за дач.
В связи с этим безусловно перспективна разработ ка программ функциональных задач АСУ на основе ти повых моделей. Необходимо также обеспечить возмож ность расширения таких программ за счет введения но вых типов моделей.
При разработке программ всех функциональных за дач АСУ важно определить надлежащие условия и фор му обмена данными между различными задачами. Эти условия связаны со стандартизацией массивов информа ции, проводимой для достаточно гибкой системы. Стан дартизация должна обеспечить возможность разработки задач различными исполнителями. Требования к функ циональным задачам АСУ сложные и зачастую противо речивые. Они определяются:
а) требованиями к диалогу человек — ЭВМ (упро щение данных, вводимых человеком, диагностика и кор рекция ошибок, удобство формы представления резуль татов, получение результатов в требуемое время и т. п.); б) возможностью решения различного набора функ
циональных задач на каждом предприятии.
Типовая система программ должна удовлетворять этим требованиям, в частности допускать возможность приспособления к потребностям конкретного предприя тия путем изменения состава функциональных задач и их параметров.
Часто на предприятиях предъявляются различные требования к формам представления результатов. Ко нечно, нужно многое сделать для стандартизации этих форм, что значительно облегчит внедрение АСУ. Однако определенные отличия форм представления информации отражают различное содержание функций управления на предприятиях. Поэтому в АСУ необходимо преду
сматривать достаточно легкое изменение выходных форм, получаемых на ЭВМ. Обычно для этого попользуются различные генераторы отчетов, которые входят в паке ты программ или представляют собой отдельные эле менты ПО.
8-2. Пакеты программ математического программирования
Для решения задач линейного и нелинейного про граммирования разработаны пакеты программ и отдель ные стандартные программы. Например, известны сле дующие пакеты: LPS/360, MPS для ЭВМ серии IBM/360; LP-400 для ЭВМ ICL4-70; FMPS для ЭВМ Sigma-5 фирмы Rank Xerox и др. Пакет программ LPS/360 работает на ЕС ЭВМ с дисковой операционной системой [122].
Пакеты программ разрабатываются в связи с тем, что для решения задач линейного программирования большой размерности обычно используются достаточно сложные алгоритмы с повторным вычислением матри цы, при этом в оперативной памяти размещается лишь часть столбцов матрицы. Кроме того, в пакетах про грамм осуществляется удобный ввод, проверка, коррек тировка данных, печать результатов, а также анализ устойчивости решения.
В этом параграфе на примерах рассмотрим только функции и принципы построения пакетов программ ма тематического программирования. Современные вычи слительные методы решения задач линейного програм мирования большой размерности описаны в [33].
Различные пакеты программ линейного программи рования с точки зрения методов решения отличаются в основном алгоритмами повторного вычисления обрат ной матрицы. Матрица задачи представлена мультипли кативно. Повторное вычисление обратной матрицы осу ществляется через некоторое число итераций мульти пликативного алгоритма симплекс-метода (примерно 50 при 103 переменных и длине слова в 8 байт). При повторном вычислении сокращается количество нену левых элементов матрицы, возросшее при предыдущих итерациях и, кроме того, устраняются накопленные по грешности округления. Алгоритмы повторения позволя ют существенно уменьшить число ненулевых элементов
матрицы [123, 124]. За счет этого значительно сокращается время решения. Для экономии оперативной па мяти в ней размещается не вся матрица, а только груп па столбцов и преобразования осуществляются для дан ной группы. Затем вводится с диска и обрабатывается следующая группа столбцов.
Разработай ряд стандартных программ решения за дач линейного программирования. В [125] приведена программа мультипликативного алгоритма с повторе нием в Альфа-языке (вариант АЛГОЛА) для БЭСМ-4. В [118] описан пакет программ, в котором реализован мультипликативный алгоритм с повторением для ма шины БЭСМ-6.
Набор программ на ФОРТРАНе для решения задач линейного программирования, описанный в [120], вклю чает следующие программы для различных задач:
1) модифицированный алгоритм симплекс-метода для сильно заполненной матрицы;
2)модифицированный алгоритм симплекс-метода для слабо заполненной матрицы;
3)симплексный метод с мультипликативным пред ставлением обратной матрицы.
Достаточно эффективной является программа [126], основанная на минимизации модифицированной функции Лагранжа [127].
Рассмотрим один из наиболее употребимых пакетов программ линейного программирования LPS-360 (Line ar Programming System IBM/360), работающих с ди сковой операционной системой (ДОС). Система линей ного программирования позволяет решать задачи с 200 строками при объеме оперативной памяти 32 Кбайт и с 1500 строками в варианте 64 Кбайт.
Система включает процедуры, необходимые для ре шения и анализа устойчивости полученного решения. Процедуры вызываются операторами управления, кото рые определяют последовательность выполнения про цедур. Программы написаны на языке ФОРТРАН IV и на Ассемблере.
Задача формулируется в удобной форме. Всем пере менным задачи даются наименования. Левая часть каж дого ограничения получает наименование и рассматри вается как переменная, имеющая верхний и нижний пре делы. Исходные данные вводятся с перфокарт и запи сываются на диск. На диске могут одновременно хра-
ннться Данные различных задач, каждая из которых может решаться многократно. Имеются обширные воз можности обслуживания данных: контроль вводимых данных, добавление, изменение или исключение коэф фициентов матрицы, правых частей и целевой функции. Возможно также исключение некоторых ограничений и задание нескольких целевых функций, из которых для каждого варианта решения выбирается определенная целевая функция. Существует процедура объединения различных задач в одну, где каждая задача является
блоком.
Можно существенно сократить время решения зада чи, сохранив решение предыдущего варианта данной за дачи и использовав его как начальное приближение. Это время указано в четвертом столбце табл. 8-2 и зависит от памяти (64 или 32 Кбайт). Время указано для моде ли 30 системы IBM/360 (где К=Ю24).
Пользователи для варианта LPS на 64К должны иметь 50 Кбайт памяти для программы и данных; поль зователей варианта 32 Кбайт должны иметь память
26Кбайт.
Каждая процедура LPS выполняет определенную
функцию, которая указана в табл. 8-3.
Данные вводятся после соответствующих процедур и заканчиваются перфокартой END АТА.
Коэффициенты матрицы ограничений вводятся или изменяются в формате, показанном в табл. 8-4.
В аналогичной форме вводятся другие коэффициен ты задачи. В конкретной задаче обычно используется только часть процедур, например для ввода данных, ре шения и печати результатов нужны процедуры: INPUT, MOVE, OPTIMIZE, LPSOLUTION, END.
Последовательность операторов и данных для этих процедур следующая:
I N P U T
NAME Имя файла в позиция* 15 —22
Данные (коэффициенты целевой функции, элементы
. матрицы ограничений)
END АТА
MOVE
Программа MÀRVËL позволяет производить опера ции с массивами, в том числе с элементами матрицы ограничений, описывать массивы и выполнять операции ввода-вывода. Ряд предложений MARVEL аналогичен принятым в ФОРТРАНе. С помощью этой программы удобно выполнять операции ввода-вывода и преобразо вания с массивами коэффициентов.
Наряду с применением для задач планирования и оперативного управления универсальных пакетов про грамм математического программирования разрабатыва лись специальные пакеты, например система [119].
Эта система программ разработана для оптимиза ции планов производства в нефтеперерабатывающей промышленности. Информация вводится в форме, удоб ной для технологов и экономистов. Специальные пакеты программ разрабатывались и для других вычислитель ных систем. На машинах IBM/370 для планирования работы нефтеперерабатывающего завода с учетом раз личных вариантов использования резервуаров существу ет пакет программы CPPS (Continuous Process Plant Scheduling). В этом пакете с помощью программ ли нейного программирования решаются только задачи оптимального смешения нефтепродуктов.
Разработка специализированных пакетов, по-видимо му, весьма перспективна, если она будет основана на
типовых моделях технологических |
установок. |
В связи |
с этим важна типизация моделей |
агрегатов |
(см. гл. |
2, 4). |
|
|
8-3. Программное обеспечение для контроля и управления в реальном времени и организация связи с задачами оптимизации
Существует ряд функциональных задач контроля и управления, которые решаются в реальном масштабе времени: сбор данных от аналоговых и дискретных датчиков, первичная обработка (мас штабирование, линеаризация), контроль предельных значений, реги страция, непосредственное цифровое управление и др. На отдельных технологических процессах для решения перечисленных задач обычно используются средние или мини-ЭВМ, которые могут быть связаны с более мощной машиной или между собой.
Информационные связи между задачами контроля и управле ния, с одной стороны, и задачами оптимизации, с другой, рассмат ривались в гл. 1, а здесь будут рассмотрены способы организации связей между этими задачами и в связи с этим способы реализа ции программного обеспечения (ПО).
В результате сбора и обработки данных измерений определя ются величины, которые должны быть доступны для ряда про