- •А. В. Коросов
- •Введение
- •1. Идеология моделирования: системный подход
- •Принцип системности
- •Принцип целесообразности
- •Принцип структурно-функциональной организации
- •Принцип иерархичности
- •Принцип эмерджентности
- •Принцип развития
- •Системный подход как система
- •2. Процедура моделирования
- •Этапы моделирования
- •Виды моделей
- •Построение блок-схемы
- •Аналитические и имитационные модели
- •Переменные и параметры
- •Математическое описание модели
- •Главное правило моделирования
- •Через неизвестные параметры (аj).
- •Приемы составления формул
- •Табличное программирование
- •Компоненты имитационной модели
- •Имитационная система
- •Адекватность и значимость
- •3. Приемы моделирования
- •Фреймы имитационных систем
- •1. Базовый фрейм имитационной системы
- •2.1. Увеличение числа значений независимой переменной
- •2.2. Отличия шагов: весовые коэффициенты у объектов
- •2.3. Исключение шагов: пробелы в исходных данных
- •2.4. Объединение шагов
- •2.5 Дифференциация шагов
- •3. Увеличение числа независимых переменных
- •4. Увеличение числа зависимых переменных
- •5. Синтез нескольких моделей
- •6.1. Увеличение числа модельных переменных: наведение
- •6.2. Увеличение числа модельных переменных: декомпозиция
- •Аппроксимация кривой
- •Пропуски в данных
- •Усреднение и параметризация
- •Индивидуализация переменных
- •Декомпозиция кривой
- •Анализ распределения
- •Продолжение табл. 3.11
- •Скрытые переменные
- •Экстремумы
- •Сети связей
- •Прогноз как гипотеза
- •4. Теория оптимизации
- •Модель с одним параметром
- •Модель с несколькими параметрами
- •Параметры макроса «Поиск решения»
- •Приемы работы в ms Excel
- •Специальные символы и другие полезные кнопки.
- •Популяции травяной лягушки
Табличное программирование
После того как построена математическая основа модели, можно приступать к программированию, переносу математических выражений в среду ЭВМ. В рамках развиваемого подхода программирование означает создание имитационной системы на листе Excel. В отличие от программирования последовательного (Basic), структурного (Fortran, Pascal, C, TurboBasic, QuickBasic), блокового (СЛАМ, Sepath в Statistica, “I think") и объектного (Visual Basic, Delphi и др.) организация имитационной системы на листе Excel есть программирование табличное. Оно имеет целый ряд отличительных черт.
1. Программировать в электронной таблице очень просто, это доступно практически любому пользователю, в общих чертах знакомому с пакетом Excel. Ввод формул в ячейки листа Excel и есть программирование. Для этого достаточно только:
знать правила ввода формул (проще всего создавать формулы с помощью мыши и затем, при необходимости, редактировать),
знать правила формирования ссылок на ячейки (абсолютные ссылки, которые не изменяются при автозаполнениях, снабжены значками валюты $),
уметь среди множества функций листа Excel выбрать нужную (они вызываются кнопкой f), обычно требуется не больше 10 функций (СУММ(), СТАНДОТКЛОН(), СЛЧИС(), СЧЁТ(), ...).
2. Программируя на электронном листе, не нужно заботиться об организации ввода-вывода и интерфейсе, поскольку Excel великолепно реализует эти функции самым “дружелюбным” образом. Не только данные, но и вся имитационная система с моделью и ее графическим отображением сохраняются в одном файле. Понятно, что в случае необходимости объем данных можно изменить, увеличив длину ряда. При этом важно следить за тем, чтобы диапазоны ссылок в формулах (суммирование и др.) включали бы и новые данные.
3. На листе Excel не нужно конструировать циклы, необходимые в других пакетах для организации хода времени или для перебора вариант выборки. Табличная форма позволят “развернуть” временную последовательность в пространстве электронного листа (например, сверху вниз). При этом ячейки одной строки содержат значения переменных, характеризующих состояние исследуемого объекта в данный определенный момент времени, а набор строк отражает последовательную смену состояния объекта во времени. Большое число строк листа Excel (16384 в Excel 7 и 65563 в Excel 97) позволяет отобразить сколь угодно продолжительную динамику (или сколь угодно большую выборку). Модель уже не есть единственная формула, встроенная в тело многократно повторяющегося цикла, как в алгоритмических языках программирования. Модель на листе Excel предстает как множество стереотипных формул, рассчитывающих значения всех переменных для каждого момента времени. Как уже было показано, ввод множества формул не представляет проблемы, благодаря предусмотренной в Excel процедуре “автозаполнение”. При этом остается только следить за правильностью ссылок на параметры (они должны быть абсолютными). Некоторые полезные приемы работы в Excel даны в одноименном разделе четвертой главы.
4. Программа на листе Excel оказывается абсолютно прозрачной, поскольку все данные и результаты счета моментально визуализируются в численной форме и их можно охватить буквально одним взором. Сложные формулы можно разделять на ряд простых и на листе Excel отражать все промежуточные результаты счета (промежуточные переменные). Быстро ориентироваться в структуре перекрестных ссылок позволяют команды панели “Зависимости”, связывающие стрелками ячейки вызываемые и вызывающие ячейки.