Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
knight / глава2.doc
Скачиваний:
14
Добавлен:
16.04.2013
Размер:
373.25 Кб
Скачать

Дипломный проект Полтарацкий А.В.

Глава 2.

  1. Эскизный проект.

    1. Постановка задачи.

      1. Определение понятия модели.

Прежде чем определить круг требований к системе, установим, что же скрывается под понятием модели.

Модель является базовым понятием для любых областей знаний, использующих аппарат математики, поскольку каждая попытка работать в точных терминах с реальным явлением должна начинаться с описания его формальной модели. Именно Модель представляет Объект исследования или расчетов и определяет характер формального аппарата, используемого для описания Задачи и выполнения необходимых вычислений. Формально, Модель определяется парой неупорядоченных множеств - множеством переменных-параметров и множеством отношений, связывающих значения этих переменных.

Прежде всего, формальная Модель является особым типом общего понятия Модели. Сама семантика общего понятия включает Объект моделирования. Модель Чего? - без ответа на этот вопрос понятие Модели просто не имеет смысла.

Математическая Модель реального явления представляет собой его формальную аппроксимацию и при определенных условиях может заменять оригинал в компьютерном (а иногда и аналитическом) исследовании его природы и поведения. В этом качестве Модель может служить базисом для решения обычных вычислительных Задач.

Например:

  • каким образом данный набор значений одних параметров влияет на значения других,

  • какие значения параметров возможны при данном наборе ограничений,

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

Любая математическая Модель, которая не является формализацией реальной сущности, может быть интересна в качестве объекта исследования только самим математикам, поскольку не является аппаратом для решения практических Задач.

В данной системе экономического планирования Модель описывает собой макроэкономику РФ в определенный период времени (на данном этапе с 1994 года по 2000 год) и представлена в виде неупорядоченной совокупности отношений, которые соответствуют связям, существующим между параметрами задачи (параметрами модели являются компоненты макроэкономики, например, статьи бюджета.). Эти отношения, называемые общим термином "ограничения" могут иметь вид уравнений, неравенств, логических выражений и т. п.

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

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

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

В самом общем виде постановка задачи в парадигме программирования в ограничениях формулируется следующим образом. Пусть на переменные x1, x2 ..., xn , областями значений которых являются множества X1 , X2 , ..., Xn , заданы ограничения Ci (x1 , x2 , ..., xn), i =1, k. Требуется найти наборы значений <a1 , a2 , ..., an> (ai  Xi), которые бы удовлетворяли всем ограничениям одновременно.

Такая постановка задачи называется проблемой удовлетворения ограничений, а для ее решения используются различные алгоритмы и методы. В частности проблема удовлетворения ограничений может формулироваться как система уравнений с числовыми параметрами, а для ее решения могут использоваться стандартные численные методы. Однако при решении многих реальных задач эти методы оказываются неприменимыми, особенно если модель включает и нечисловые параметры, а начальные данные могут задаваться приблизительно в виде множеств и интервалов, содержащих допустимые значения.

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

Метод недоопределенных моделей (Н-моделей) был предложен в начале 80-x годов для представления и обработки не полностью определенных знаний [9]. Рассматриваемый вначале как оригинальный метод из области искусственного интеллекта, он трансформировался постепенно в прикладную технологию программирования в ограничениях. Технология Н-моделей выделяется среди других подходов вычислительной мощностью, универсальностью и эффективностью. Фактически она является единственной технологией, которая позволяет решать задачу удовлетворения ограничений в самой общей постановке. Модель макроэкономики РФ и представляет собой недоопределенную модель.

Требования, предъявляемые к системе экономического планирования.

Теперь можно уточнить постановку задачи. Требуется написать систему, которая представляет собой технологическую среду для разработки больших экономических моделей. Система должна работать под управлением Windows95, реализована в среде разработки Borland Delphi 4 и должна состоять из двух компонентов - вычислительного ядра системы (engine) и оболочки над ним. Оболочка включает в себя:

  • Набор интерфейсов для всех типов процессов

  • База данных (БД)

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

  • несколько моделей,

  • несколько вариантов одной модели (в процессе ее разработки),

  • несколько вариантов значений (подготовка исходного варианта)

  • текущее значение (использование и/или сопровождение), с протоколом сеанса и архивом процесса сопровождения.

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

  • Модель меняется, но не меняется ее структура данных; в этом случае разные модели могут работать с одним и тем же множеством вариантов значений.

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

  • При разработке модели может быть и более динамичный вариант по отношению к i и ii - модель меняется на очередном шаге, при этом данные, связанные с не изменившейся частью, сохраняют эту связь и для новой модели, например, добавление/исключение строки или столбца в электронной таблице.

  • Модель не меняется, редактируются только значения данных; модель может храниться в откомпилированном виде.

  • Модель связана с определенным набором начальных значений параметров (исходные области значений для САПР, подготовленный план и т.д.), который затем монотонно меняется в процессе расчета (САПР), сопровождения (план) и т.п.

При выборе СУБД можно рассматривать следующие альтернативы:

  • Коммерческая реляционная или объектно-ориентированная СУБД с последующей добавлением к ней системы навигации,

  • Гипертекстовая СУБД с доработкой ее собственной системы навигации,

  • Вариант INFO-Tec, использующий базовый UniCalc или НеМо engine.

  • “Homemade” виртуальная СУБД, использующая структуры инструментальной среды.

Представляется, что каждый из этих вариантов имеет свои плюсы и минусы.

1. Коммерческая реляционная или объектно-ориентированная СУБД.

Плюсы

Готовый продукт с необходимыми компонентами сервиса,

Минусы

(возможно): высокая стоимость, сложность разработки системы навигации

2. Гипертекстовая СУБД

Плюсы

Наличие развитой основы для навигации.

Минусы

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

3. Вариант INFO-Tec

Плюсы

Автоматизация функций СУБД – контроль правильности, доопределение данных и определение\коррекция вычисляемых элементов, создание прототипа важного компонента для других продуктов - SemP, NeMo, TAO и сомостоятельного продукта.

Минусы

Трудоемкость разработки – фактически открытие еще одного проекта, необходимость ориентации на коммерческую СУБД и разработки соответствующего интерфейса (например, SQL) .

4. “Homemade” виртуальная СУБД

Плюсы

Компактность и эффективность, независимость от «постороннего» продукта

Минусы

Трудоемкость разработки – фактически открытие еще одного проекта.

Очевидно, что второй вариант - ход достаточно нестандартный, стоит обсудить его плюсы и минусы, а также возможность создания INFO-Tec на его основе.

Стоит уточнить еще один аспект: с вариантами использования коммерческого продукта связана проблема права на его использования в составе наших продуктов при их реализации.

  • "Кожух" для engine:

- два уровня программы: на внешнем языке и на внутреннем,

- два уровня данных: внутренний и внешний (с заданной точностью)

- компонент управления процессом: поиск корней, управление «сужением» интервалов, задание точности и т.д.

- определение состава данных, выдаваемых на интерфейс.

  • Сервис: графика, генерация отчетов, help.

Выбор платформы проектирования и еe обоснование.

В качестве операционной среды, в которой реализовался данный ПП, была выбрана среда Windows’95 (Windows NT). Причины этого следующие:

  • Распространенность этих ОС, в связи с чем получается охват большого числа возможных пользователей;

  • Возможность работы с большими массивами данных, реализация чего в среде Windows 3.1 или в среде MS-DOS представляет нетривиальную и трудновыполнимую задачу;

  • Удобство графического интерфейса дает возможность при минимизации затрат на его реализацию максимизировать удобство работы пользователя с программой. Интерфейс интуитивно понятен и стандартизован, соответственно пользователь не потратит много времени на освоение программы и в дальнейшем количество возможных ошибок в его действиях будет минимизировано.

  • 32-разрядность систем Windows’95 и Windows NT увеличивает скорость работы с соответствующими числами.

В качестве среды программирования была выбрана среда Borland Delphi 4, сочетающая в себе как все преимущества всех средств, относящихся к RAD1, так и свои собственные преимущества:

  • Простота и надежность создания и отладки программы;

  • Использование всех преимуществ операционных систем Windows’95 и Windows NT, включая 32-разрядность, многозадачность, удобный интерфейс и прочее;

  • Использование обработки исключений (exceptions), что позволяет повысить надежность работы программного продукта;

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

Таким образом, в качестве платформы для реализации была выбрана связка Windows’95 (NT) - Borland Delphi 4.

Соседние файлы в папке knight