Вид публикации: Статья
Год: 2001
Целевое назначение: Научное
Автор(ы): Сальников С.Г.
Статус: завершенный
Наименование: Графическая оболочка для пакета моделирования GAMS.
Адрес сайта (страницы): http://www.agroacadem.ru
Формат: электронная
PDF-файл: http://www.viapi.ru/download/2015/9000.pdf



Графическая оболочка для пакета моделирования GAMS.


Сальников С.Г.

Всероссийский институт аграрных проблем и информатики

 

Аннотация. Приводится описание основных возможностей разработанной автором графической оболочки для пакета моделирования GAMS

 

Ключевые слова: графическая оболочка, GAMS, моделирование

Введение

В необходимости разработки графической оболочки для работы с пакетом моделирования GAMS автор убедился в ходе работы с моделью частичного равновесия аграрных рынков стран СНГ,  где используется данный пакет. На нем реализованы расчетные программы для всех основных этапов расчета модели.

В работе с пакетом наблюдались определенные (интерфейсные) проблемы. Пакет GAMS является DOS-программой и работа с ним организована по файловому принципу. Пакет способен воспринять на входе некоторую (входную) информацию в виде обычного текстового файла и, соответственно, выдать результаты расчетов (выходную информацию) в таком же виде. Такой подход  был по нынешним представлениям достаточно архаичным и требовал усовершенствования.

1. Сценарный подход и интерфейс модели.

Чрезвычайно актуально было также использование сценариев при работе с моделью. Действительно, любая модель интересна, прежде всего, возможностью изменять различные первоначальные настройки и анализировать, как такие настройки влияют на окончательные результаты оптимизационных расчетов. Таким  естественным образом возникает понятие сценариев, то есть определенных первоначальных установок модели, которые могут изменяться от сценария к сценарию. Результаты расчетов на основе таких установок могут сравниваться друг с другом: строиться таблицы, графики и т.п. Файловая структура работы с данными крайне неудачна для реализации такого сценарного подхода. 

Способ разрешения возникшей проблемы, таким образом, состоит в необходимости отказа от файловой структуры взаимодействия с пользователем (интерфейса модели) и переход к единообразному (Windows-ориентированному) интерфейсу.  Как и следовало ожидать, пакет GAMS вполне позволяет организовать такой интерфейс.

2. СУБД-ориентированный интерфейс.

Информация в среде пакета GAMS достаточно хорошо структурирована и СУБД-подход (т.е. подход на основе систем управления базами данных) к организации взаимодействия модели с пользователем напрашивался сам собой.

Организованная единая база данных основных (sets) множеств и матриц (parameters) модели позволила достаточно просто «собирать» необходимые сценарные входные и выходные массивы данных и организовывать их расчет и визуализацию. Отпала необходимость и в утомительном (с возможностью ошибиться) процессе работы с различными файлами модели находящихся в различных местах.

Таким образом, работа с моделью, а главное, реализация различных сценариев расчета, существенно упростилась и была приведена к единообразному виду.

Вновь созданная структура взаимодействия пользователя с моделью имеет следующий  вид:

 

 

3. Интерфейс-пакет GAMSio: основные возможности.

В соотвествии с изложенным выше и представленной схемой был разработан пакет взаимодействия пользователя с пакетом моделирования GAMS - интерфейс-пакет GAMSio – со следующими основными функциональными возможностями:

 

-        Данные: работа с таблицами основных входных и выходных данных модели: множествами (sets) и матрицами данных (parameters)

-        Сценарии: организация сценариев: наименование, файлы входных и выходных данных, настройка расчетов и т.п.

-        Расчеты: создание на основе содержимого таблиц баз данных входных и выходных текстовых файлов, их импорт/экспорт в GAMS-программу модели, запуск модели и т.п.

-        Сервис и настройки: общие настройки пакета, расположение файлов GAMS, программы запуска gams.exe,  текстовый редактор и т.п.

 

Остановимся на каждом из изложенных выше пунктов более подробно:

 

Данные

Здесь предлагается организация работы с основными входными и выходными массивами данных модели: множествами – sets и параметрическими множествами-матрицами (parameters).

Для множеств (sets) помимо стандартных возможностей создания, редактирования, удаления данных имеется возможность настройки алиасов (alias) множеств и настройки т.н. «зависимых» множеств типа SetChild(SetParent), где SetChild – множество, с которым мы работаем, а SetParent – множество, на основе которого строится наше множество.

Для параметрических множеств-матриц (parameters) помимо стандартных возможностей создания, редактирования, удаления данных предусмотрена возможность настройки этих множеств на sets-множества, на основе которых они будут строиться, настройки на необходимость ввода/вывода этих данных в модель и возможность экспорта/импорта данных параметрического множества из других сценариев или таблиц.

Сценарии

Здесь предлагается организация работы со сценариями: создание, редактирование, удаление сценариев, настройка их на конкретные параметры, в соответствии со справочниками настроек сценариев, настройка сценариев на расчеты модели и т.п. Помимо этого, предусмотрена возможность создания одних сценариев на основе других (т.н. родительских) сценариев.

Расчеты

Здесь организуется интерфейс пользователя по запуску пакета моделирования, импорту рассчитанных моделью данных, настройки расчета и т.п.

Так как пакет моделирования GAMS чрезвычайно чувствителен к входным данным (то есть самостоятельно и очень тщательно проверяет входные данные на их соответствие друг другу и заявленным в модели описаниям этих данных), то предусмотрена возможность протоколирования процесса расчета с выдачей необходимых предупреждений об ошибках или других недостатках входных и выходных данных.

Предусмотрена также возможность настройки режима визуализации работы пакета GAMS (в скрытом окне, в открытом окне, в окне с автоматическим закрытием его по окончании расчетов и т.п.) и «подкачки» расчетных (выходных) данных в базу данных интерфейс-пакета.

Конечно же, вызов расчетного пакета GAMS, его работа и завершение его работы  производится непосредственно из среды интерфейс-пакета, что избавляет неопытного пользователя от необходимости знания деталей данного процесса. Для автоматизации данного процесса предусмотрены (как уже упомянуто выше) специальные таблицы-базы данных с настройками расчетов. 

Сервис и настройки

Здесь обеспечена возможность работы с простым текстовым редактором для того, чтобы, при необходимости просмотреть расчетные файлы (типа *.gms) модели, отредактировать их или создать новые, вставить или удалить отдельные фрагменты текста, организовать поиск отдельных фрагментов текста, распечатать текст файла  и т.п.

Также предоставлена возможность указать месторасположение (на диске компьютера) основного “пускового” файла gams.exe пакета моделирования GAMS.    

Конечно же, предусмотрена развитая система подсказок (help), по возможности контекстно-зависимых, то есть подсказок относящихся именно к той процедуре, которую выполняет пользователь на момент запроса подсказки.

Заметим в заключении, что, всюду, где какая-либо информация может быть распечатана, таковая возможность предоставлена в качестве печати в виде стандартного отчета.

 

Заключение.

Приведенное выше описание интерфейс-пакета EPACIS не претендует на полноту. Целью описания было показать основные идеи и принципы такого пакета, и способы организации заявленного взаимодействия (интерфейса) с пакетом GAMS. Такой подход допускает дальнейшее развитие. Так существенно можно упростить работу со сценариями, предоставить возможность формировать отчеты на основе нескольких сценариев (что, как указано выше, особенно актуально), добавить возможность построения графиков и др.

Конечно, у предложенного подхода имеются и недостатки: первоначальное «привыкание» к пакету может потребовать определенного времени. Однако современные СУБД обладают все же развитым, полнофункциональным Windows-подобным интерфейсом и потому упомянутая проблема легко преодолевается. Преимущества же вновь предложенного подхода, несомненно, перекрывают его недостатки.

 

 

Graphical shell for the GAMS modelling package

 

S.G.Salnikov

(Moscow)

 

The main capabilities of the graphical shell for the GAMS modelling package is described that was developed by the author.

 

Keyword: Graphical shell, GAMS, modelling



Назад в раздел