Выбери формат для чтения
Загружаем конспект в формате doc
Это займет всего пару минут! А пока ты можешь прочитать работу в формате Word 👇
РОССИЙСКИЙ ГОСУДАРСТВЕННЫЙ СОЦИАЛЬНЫЙ УНИВЕРСИТЕТ
МОДЕЛИРОВАНИЕ СИСТЕМ
Курс лекций
Прохорова О.В.
2009г.
Рассматриваются основы моделирования систем. Излагаются принципы математического и компьютерного моделирования систем (МС). Приводится обзор эволюционного моделирования. Излагаются основы принятия решений.
Оглавление
1. Основы моделирования систем 3
1.1. Модели и моделирование 3
1.2. Прикладные аспекты моделирования 13
1.3. Основные свойства модели и моделирования 18
2. Математическое и компьютерное моделирование 22
2.1. Классификация видов моделирования 22
2.2. Математическое моделирование сложных систем 24
2.3. Имитация случайных величин и процессов 27
2.4. Основы математического моделирования 28
2.5. Компьютерное моделирование 34
3. Эволюционное моделирование и генетические алгоритмы 41
3.1. Основные атрибуты эволюционного моделирования 41
3.2. Основные направления исследования эволюции систем 42
3.3. Генетические алгоритмы 50
4. Основы принятия решений и ситуационного моделирования 53
4.1. Основы принятия решений 53
4.2. Формализуемые решения 56
Литература 63
1. Основы моделирования систем
1.1. Модели и моделирование
Модель и моделирование - универсальные понятия, атрибуты одного из наиболее мощных методов познания в любой профессиональной области, познания системы, процесса, явления.
Вид модели и методы ее исследования больше зависят от информационно - логических связей элементов и подсистем моделируемой системы, ресурсов, связей с окружением, а не от конкретного наполнения системы.
У моделей, особенно математических, есть особенность - развитие модельного стиля мышления, позволяющего вникать в структуру и внутреннюю логику моделируемой системы.
Построение модели - системная задача, требующая анализа и синтеза исходных данных, гипотез, теорий, знаний специалистов. Системный подход позволяет не только построить модель реальной системы, но и использовать эту модель для оценки (например, эффективности управления, функционирования) системы.
Модель - это объект или описание объекта, системы для замещения одной системы (оригинала) другой системой для лучшего изучения оригинала или воспроизведения каких-либо его свойств.
Например, отображая физическую систему на математическую систему, получим математическую модель физической системы. Любая модель строится и исследуется при определенных допущениях, гипотезах.
Пример. Рассмотрим физическую систему: тело массой m скатывающееся по наклонной плоскости с ускорением a, на которое воздействует сила F.
Исследуя такие системы, Ньютон получил математическое соотношение: F = m*a. Это физико-математическая модель системы или математическая модель физической системы.
При описании этой системы приняты следующие гипотезы:
• поверхность идеальна (т.е. коэффициент трения равен нулю);
• тело находится в вакууме (т.е. сопротивление воздуха равно нулю);
• масса тела неизменна;
• тело движется с одинаковым постоянным ускорением в любой точке.
Пример . Физиологическая система (система кровообращения человека) - подчиняется некоторым законам термодинамики. Описывая эту систему на физическом (термодинамическом) языке балансовых законов, получим физическую, термодинамическую модель физиологической системы. Если записать эти законы на математическом языке, т.е. соответствующие термодинамические уравнения, то уже получаем математическую модель системы кровообращения.
Пример. Совокупность предприятий функционирует на рынке, обмениваясь товарами, сырьем, услугами, информацией. Если описать экономические законы, правила их взаимодействия на рынке с помощью математических соотношений, например, системы алгебраических уравнений, где неизвестными будут величины прибыли, получаемые от взаимодействия предприятий, а коэффициентами уравнения будут значения интенсивностей таких взаимодействий, то получим экономико-математическую модель системы предприятий на рынке.
Если банк выработал стратегию кредитования, смог описать ее с помощью экономико - математических моделей и прогнозирует свою тактику кредитования, то он имеет большую устойчивость и жизнеспособность.
Слово "модель" (лат. modelium) означает "мера", "способ", "сходство с какой-то вещью".
Моделирование базируется на математической теории подобия, согласно которой абсолютное подобие может иметь место лишь при замене одного объекта другим точно таким же.
При моделировании большинства систем абсолютное подобие невозможно, и основная цель моделирования - модель достаточно хорошо должна отображать функционирование моделируемой системы.
По уровню, "глубине" моделирования модели бывают:
• эмпирические - на основе эмпирических фактов, зависимостей;
• теоретические - на основе математических описаний;
• смешанные, полуэмпирические - на основе эмпирических зависимостей и математических описаний.
Проблема моделирования состоит из трех задач:
• построение модели (эта задача менее формализуема и конструктивна, в том смысле, что нет алгоритма для построения моделей);
• исследование модели (эта задача более формализуема, имеются методы исследования различных классов моделей);
• использование модели (конструктивная и конкретизируемая задача).
Модель М, описывающая систему S(x1, x2, ..., xn; R), имеет вид: М = (z1, z2, ..., zm; Q), где zi Z, i = 1, 2, ..., n, Q, R - множества отношений над X - множеством входных, выходных сигналов и состояний системы, Z - множество описаний, представлений элементов и подмножеств X.
Схема построения модели М системы S с входными сигналами X и выходными сигналами Y изображена на рис. 1.1.
Рис. 1.1. Схема построения модели
Если на вход М поступают сигналы из X и на входе появляются сигналы Y, то задан закон (правило f функционирования модели) системы.
Моделирование - это универсальный метод получения описания функционирования объекта и использования знаний о нем. Моделирование используется в любой профессиональной деятельности
Классификацию моделей проводят по различным критериям.
Модель называется статической, если среди параметров, участвующих в ее описании, нет временного параметра. Статическая модель в каждый момент времени дает лишь "фотографию" системы, ее срез.
Пример. Закон Ньютона F=a*m - это статическая модель движущейся с ускорением a материальной точки массой m. Эта модель не учитывает изменение ускорения от одной точки к другой.
Модель динамическая, если среди ее параметров есть временной параметр, т.е. она отображает систему (процессы в системе) во времени.
Пример. Динамическая модель закона Ньютона будет иметь вид:
F(t)=a(t)*m(t).
Модель дискретная, если она описывает поведение системы только в дискретные моменты времени.
Пример. Если рассматривать только t=0, 1, 2, …, 10 (сек), то модель St=gt2/2 или числовая последовательность S0=0, S1=g/2, S2=2g, S3=9g/2, :, S10=50g может служить дискретной моделью движения свободно падающего тела.
Модель непрерывная, если она описывает поведение системы для всех моментов времени некоторого промежутка времени.
Пример. Модель S=gt2/2, 0 < t < 100 непрерывна на промежутке времени (0;100).
Модель имитационная, если она предназначена для испытания или изучения возможных путей развития и поведения объекта путем варьирования некоторых или всех параметров модели.
Пример. Пусть модель экономической системы производства товаров двух видов 1 и 2, в количестве x1 и x2 единиц и стоимостью каждой единицы товара a1 и a2 на предприятии описана в виде соотношения:
a1x1 + a2x2 = S,
где S - общая стоимость произведенной предприятием всей продукции (вида 1 и 2). Можно ее использовать в качестве имитационной модели, по которой можно определять (варьировать) общую стоимость S в зависимости от тех или иных значений объемов производимых товаров.
Модель детерминированная, если каждому входному набору параметров соответствует вполне определенный и однозначно определяемый набор выходных параметров; в противном случае - модель недетерминированная, стохастическая (вероятностная).
Пример. Приведенные выше физические модели - детерминированные. Если в модели S = gt2 / 2, 0 < t < 100 мы учли бы случайный параметр - порыв ветра с силой p при падении тела:
S(p) = g(p) t2 / 2, 0 < t < 100,
то мы получили бы стохастическую модель (уже не свободного!) падения.
Модель функциональная, если она представима в виде системы каких- либо функциональных соотношений.
Модель теоретико-множественная, если она представима с помощью некоторых множеств и отношений принадлежности им и между ними.
Пример. Пусть задано множество X = {Николай, Петр, Николаев, Петров, Елена, Екатерина, Михаил, Татьяна} и отношения: Николай - супруг Елены, Екатерина - супруга Петра, Татьяна - дочь Николая и Елены, Михаил - сын Петра и Екатерины, семьи Михаила и Петра дружат друг с другом. Тогда множество X и множество перечисленных отношений Y могут служить теоретико-множественной моделью двух дружественных семей.
Модель логическая, если она представима предикатами, логическими функциями.
Например, совокупность двух логических функций вида:
z = x y x y, p = x y
может служить математической моделью одноразрядного сумматора.
Модель игровая, если она описывает, реализует некоторую игровую ситуацию между участниками игры (лицами, коалициями).
Пример. Пусть игрок 1 - добросовестный налоговый инспектор, а игрок 2 - недобросовестный налогоплательщик. Идет процесс (игра) по уклонению от налогов (с одной стороны) и по выявлению сокрытия уплаты налогов (с другой стороны). Игроки выбирают натуральные числа i и j (i, j n), которые можно отождествить, соответственно, со штрафом игрока 2 за неуплату налогов при обнаружении факта неуплаты игроком 1 и с временной выгодой игрока 2 от сокрытия налогов. Рассмотрим матричную игру с матрицей выигрышей порядка n. Каждый элемент этой матрицы A определяется по правилу aij = |i - j|. Модель игры описывается этой матрицей и стратегией уклонения и поимки. Эта игра - антагонистическая.
Модель алгоритмическая, если она описана некоторым алгоритмом или комплексом алгоритмов, определяющим ее функционирование, развитие.
Нужно помнить, что не все модели могут быть исследованы или реализованы алгоритмически.
Пример. Моделью вычисления суммы бесконечного убывающего ряда чисел может служить алгоритм вычисления конечной суммы ряда до некоторой заданной степени точности. Алгоритмической моделью корня квадратного из числа x может служить алгоритм вычисления его приближенного сколь угодно точного значения по известной рекуррентной формуле.
Модель структурная, если она представима структурой данных или структурами данных и отношениями между ними.
Например, структурной моделью может служить описание (табличное, графическое, функциональное или другое) структуры экосистемы.
Модель графовая, если она представима графом или графами и отношениями между ними.
Модель иерархическая (древовидная), если представима некоторой иерархической структурой (деревом).
Пример. Для решения задачи нахождения маршрута в дереве поиска можно построить, например, древовидную модель (рис. 1.2):
Рис. 1.2. Модель иерархической структуры
Модель сетевая, если она представима некоторой сетевой структурой.
Пример. Строительство нового дома включает операции, приведенные в нижеследующей таблице.
Таблица работ при строительстве дома
№
Операция
Время выполнения (дни)
Предшествующие операции
Дуги графа
1
Расчистка участка
1
нет
-
2
Закладка фундамента
4
Расчистка участка (1)
1-2
3
Возведение стен
4
Закладка фундамента (2)
2-3
4
Монтаж электропроводки
3
Возведение стен (3)
3-4
5
Штукатурные работы
4
Монтаж электропроводки (4)
4-5
6
Благоустройство территории
6
Возведение стен (3)
3-6
7
Отделочные работы
4
Штукатурные работы (5)
5-7
8
Настил крыши
5
Возведение стен (3)
3-8
Сетевая модель (сетевой график) строительства дома дана на рис. 1.3.
Рис. 1.3. Сетевой график строительства работ
Две работы, соответствующие дуге 4-5, параллельны, их можно либо заменить одной, представляющей совместную операцию (монтаж электропроводки и настил крыши) с новой операцией длительностью 3+5=8, либо ввести на одной дуге фиктивное событие.
Модель языковая, лингвистическая, если она представлена некоторым лингвистическим объектом, формализованной языковой системой или структурой.
Иногда такие модели называют вербальными, синтаксическими.
Например, правила дорожного движения - языковая, структурная модель движения транспорта и пешеходов на дорогах.
Пусть B - множество производящих основ существительных, C - множество суффиксов, P - прилагательных, "+" - операция конкатенации слов, ":=" - операция присваивания, "=>" - операция вывода (выводимости новых слов), Z - множество значений (смысловых) прилагательных. Языковая модель M словообразования: = + <сi>. При bi - "рыб(а)", сi - "н(ый)", получаем по этой модели pi - "рыбный", zi - "приготовленный из рыбы".
Модель визуальная, если она позволяет визуализировать отношения и связи моделируемой системы, особенно в динамике.
Например, на экране компьютера часто пользуются визуальной моделью того или иного объекта, например, клавиатуры в программе - тренажере по обучению работе на клавиатуре.
Модель натурная, если она есть материальная копия объекта моделирования.
Например, глобус - натурная географическая модель земного шара.
Модель геометрическая, графическая, если она представима геометрическими образами и объектами.
Например, макет дома является натурной геометрической моделью строящегося дома. Вписанный в окружность многоугольник дает модель окружности. Именно она используется при изображении окружности на экране компьютера. Прямая линия является моделью числовой оси, а плоскость часто изображается как параллелограмм.
Модель клеточно-автоматная, если она представляет систему с помощью клеточного автомата или системы клеточных автоматов.
Клеточный автомат - дискретная динамическая система, аналог физического (непрерывного) поля. Клеточно-автоматная геометрия - аналог евклидовой геометрии. Неделимый элемент евклидовой геометрии - точка, на основе ее строятся отрезки, прямые, плоскости и т.д.
Неделимый элемент клеточно-автоматного поля - клетка, на основе её строятся кластеры клеток и различные конфигурации клеточных структур. Представляется клеточный автомат равномерной сетью клеток ("ячеек") этого поля. Эволюция клеточного автомата разворачивается в дискретном пространстве - клеточном поле.
Смена состояний в клеточно-автоматном поле происходит одновременно и параллельно, а время идет дискретно. Несмотря на кажущуюся простоту их построения, клеточные автоматы могут демонстрировать разнообразное и сложное поведение.
В последнее время они широко используются при моделировании не только физических, но и социально-экономических процессов.
1.2. Прикладные аспекты моделирования
Рассмотрим клеточно-автоматную модель загрязнения среды, диффузии загрязнителя в некоторой среде. 2D - клеточный автомат (на плоскости) для моделирования загрязнения среды может быть сгенерирован следующими правилами:
• плоскость разбивается на одинаковые клетки: каждая клетка может находиться в одном из двух состояний: состояние 1 - в ней есть диффундирующая частица загрязнителя, и состояние 0 - если ее нет;
• клеточное поле разбивается на блоки 2×2 двумя способами, которые будем называть четным и нечетным разбиениями (у чётного разбиения в кластере или блоке находится четное число точек или клеток поля, у нечетного блока - их нечетное число);
• на очередном шаге эволюции каждый блок четного разбиения поворачивается (по задаваемому правилу распространения загрязнения или генерируемому распределению случайных чисел) на заданный угол (направление поворота выбирается генератором случайных чисел);
• аналогичное правило определяется и для блоков нечетного разбиения;
• процесс продолжается до некоторого момента или до очищения среды.
Пусть единица времени - шаг клеточного автомата, единица длины - размер его клетки. Если перебрать всевозможные сочетания поворотов блоков четного и нечетного разбиения, то видим, что за один шаг частица может переместиться вдоль каждой из координатных осей на расстояние 0, 1 или 2 (без учета направления смещения) с вероятностями, соответственно, p0=1/4, p1=1/2, p2=1/4. Вероятность попадания частицы в данную точку зависит лишь от ее положения в предыдущий момент времени, поэтому рассматриваем движение частицы вдоль оси х (y) как случайное.
На рис. 1.4 - фрагменты работы программы клеточно-автоматной модели загрязнения клеточной экосреды (размеры клеток увеличены).
Рис. 1.4.
Окно справа - состояние клеточного поля. В верхней таблице показано исходное поле, слабо загрязненное, в нижней таблице показано - после 120 циклов загрязнения, в левом верхнем углу - "Микроскоп", увеличивающий кластер поля, в середине слева - график динамики загрязнения, внизу слева - индикаторы загрязнения.
Модель фрактальная, если она описывает эволюцию моделируемой системы эволюцией фрактальных объектов.
Если физический объект однородный (сплошной), т.е. в нем нет полостей, то можно считать, что плотность не зависит от размера. Например, при увеличении параметра объекта R до 2R масса объекта увеличится в R2 раз, если объект- круг и в R3 раз, если объект - шар, т.е. существует связь массы и длины M(R) ~ Rn . Здесь n - размерность пространства. Объект, у которого масса и размер связаны этим соотношением, называется "компактным". Плотность его
Если объект (система) удовлетворяет соотношению M(R) ~ Rf(n), где f(n) < n, то такой объект называется фрактальным.
Его плотность не будет одинаковой для всех значений R, и она масштабируется так:
Так как f(n) - n < 0, то плотность фрактального объекта уменьшается с увеличением размера, а ρ(R) является количественной мерой разряженности объекта.
Пример. Пример фрактальной модели - множество Кантора. Рассмотрим отрезок [0;1]. Разделим его на 3 части и выбросим средний отрезок. Оставшиеся 2 промежутка опять разделим на три части и выкинем средние промежутки и т.д. Получим множество, называемое множеством Кантора. В пределе получаем несчетное множество изолированных точек (рис. 1.5)
Рис. 1.5. Множество Кантора для 3-х делений
Можно показать, что если n - размерность множества Кантора, то n=ln2/ln3≈0,63, т.е. этот объект (фрактал) еще не состоит только из изолированных точек, хотя уже и не состоит из отрезка.
1.3. Основные свойства модели и моделирования
Тип модели зависит от информационной сущности моделируемой системы, от связей и отношений ее подсистем и элементов, а не от ее физической природы.
Например, математические описания (модели) динамики эпидемии инфекционной болезни, радиоактивного распада, усвоения второго иностранного языка, выпуска изделий производственного предприятия и т.д. могут считаться одинаковыми с точки зрения их описания, хотя сами процессы различны.
Границы между моделями различного вида весьма условны. Можно говорить о различных режимах использования моделей - имитационном, стохастическом и т.д.
Как правило модель включает в себя: объект О, субъект (не обязательный) А, задачу Z, ресурсы B, среду моделирования С.
Модель можно представить формально в виде: М = < O, Z, A, B, C >.
Основные свойства любой модели:
• целенаправленность - модель всегда отображает некоторую систему, т.е. имеет цель;
• конечность - модель отображает оригинал лишь в конечном числе его отношений и, кроме того, ресурсы моделирования конечны;
• упрощенность - модель отображает только существенные стороны объекта и, кроме того, должна быть проста для исследования или воспроизведения;
• приблизительность - действительность отображается моделью грубо или приблизительно;
• адекватность - модель должна успешно описывать моделируемую систему;
• наглядность, обозримость основных ее свойств и отношений;
• доступность и технологичность для исследования или воспроизведения;
• информативность - модель должна содержать достаточную информацию о системе (в рамках гипотез, принятых при построении модели) и должна давать возможность получить новую информацию;
• сохранение информации, содержавшейся в оригинале (с точностью рассматриваемых при построении модели гипотез);
• полнота - в модели должны быть учтены все основные связи и отношения, необходимые для обеспечения цели моделирования;
• устойчивость - модель должна описывать и обеспечивать устойчивое поведение системы, если даже она вначале является неустойчивой;
• целостность - модель реализует некоторую систему, т.е. целое;
• замкнутость - модель учитывает и отображает замкнутую систему необходимых основных гипотез, связей и отношений;
• адаптивность - модель может быть приспособлена к различным входным параметрам, воздействиям окружения;
• управляемость - модель должна иметь хотя бы один параметр, изменениями которого можно имитировать поведение моделируемой системы в различных условиях;
• возможность развития моделей (предыдущего уровня).
Жизненный цикл моделируемой системы:
• сбор информации об объекте, выдвижение гипотез, предварительный модельный анализ;
• проектирование структуры и состава моделей (подмоделей);
• построение спецификаций модели, разработка и отладка отдельных подмоделей, сборка модели в целом, идентификация (если это нужно) параметров моделей;
• исследование модели - выбор метода исследования и разработка алгоритма (программы) моделирования;
• исследование адекватности, устойчивости, чувствительности модели;
• оценка средств моделирования (затраченных ресурсов);
• интерпретация, анализ результатов моделирования и установление некоторых причинно-следственных связей в исследуемой системе;
• генерация отчетов и проектных (народно-хозяйственных) решений;
• уточнение, модификация модели, если это необходимо, и возврат к исследуемой системе с новыми знаниями, полученными с помощью модели и моделирования.
Моделирование – есть метод системного анализа.
Часто в системном анализе при модельном подходе исследования может совершаться одна методическая ошибка, а именно, - построение корректных и адекватных моделей (подмоделей) подсистем системы и их логически корректная увязка не дает гарантий корректности построенной таким способом модели всей системы.
Модель, построенная без учета связей системы со средой и ее поведения по отношению к этой среде, может часто лишь служить еще одним подтверждением теоремы Геделя, а точнее, ее следствия, утверждающего, что в сложной изолированной системе могут существовать истины и выводы, корректные в этой системе и некорректные вне ее.
Наука моделирования состоит в разделении процесса моделирования (системы, модели) на этапы (подсистемы, подмодели), детальном изучении каждого этапа, взаимоотношений, связей, отношений между ними и затем эффективного описания их с максимально возможной степенью формализации и адекватности.
В случае нарушения этих правил получаем не модель системы, а модель "собственных и неполных знаний".
Моделирование рассматривается как особая форма эксперимента, эксперимента не над самим оригиналом, т.е. простым или обычным экспериментом, а над копией оригинала. Здесь важен изоморфизм систем оригинальной и модельной. Изоморфизм - равенство, одинаковость, подобие.
Модели и моделирование применяются по основным направлениям:
• в обучении (как моделям, моделированию, так и самих моделей);
• в познании и разработке теории исследуемых систем;
• в прогнозировании (выходных данных, ситуаций, состояний системы);
• в управлении (системой в целом, отдельными ее подсистемами), в выработке управленческих решений и стратегий;
• в автоматизации (системы или ее отдельных подсистем).
2. Математическое и компьютерное моделирование
2.1. Классификация видов моделирования
При физическом моделировании используется сама система, либо подобная ей в виде макета, например, летательный аппарат в аэродинамической трубе.
Математическое моделирование есть процесс установления соответствия реальной системе S математической модели M и исследование этой модели, позволяющее получить характеристики реальной системы.
При аналитическом моделировании процессы функционирования элементов записываются в виде математических соотношений (алгебраических, интегральных, дифференциальных, логических и др.).
Аналитическая модель может быть исследована методами:
• аналитическими (устанавливаются явные зависимости, получаются, в основном, аналитические решения);
• численными (получаются приближенные решения);
• качественными (в явном виде можно найти некоторые свойства решения).
Компьютерное – математическое моделирование формулируется в виде алгоритма (программы для ЭВМ), что позволяет проводить над ней вычислительные эксперименты.
Численное моделирование использует методы вычислительной математики.
Статистическое моделирование использует обработку данных о системе с целью получения статистических характеристик системы.
Имитационное моделирование воспроизводит на ЭВМ (имитирует) процесс функционирования исследуемой системы, соблюдая логическую и временную последовательность протекания процессов, что позволяет узнать данные о состоянии системы или отдельных ее элементов в определенные моменты времени.
Применение математического моделирования позволяет исследовать объекты, реальные эксперименты над которыми затруднены или невозможны.
Экономический эффект при математическом моделировании состоит в том, что затраты на проектирование систем в среднем сокращаются в 50 раз.
2.2. Математическое моделирование сложных систем
Будем считать, что элемент s есть некоторый объект, обладающий определенными свойствами, внутреннее строение которого для целей исследования не играет роли, например, самолет для моделирования полета – не элемент, а для моделирования работы аэропорта – элемент.
Связь l между элементами есть процесс их взаимодействия, важный для целей исследования.
Система S – совокупность элементов со связями и целью функционирования F.
Сложная система – это система, состоящая из разнотипных элементов с разнотипными связями.
Большая система – это система, состоящая из большого числа однотипных элементов с однотипными связями.
В общем виде систему математически можно представить в виде:
Автоматизированная система SA есть сложная система с определяющей ролью элементов двух типов: технических средств Sт и действий человека SH:
здесь - остальные элементы системы.
Структура системы есть разбиение (декомпозиция) системы на элементы или группы элементов с указанием связей между ними, неизменными во время функционирования системы.
Практически все системы рассматриваются функционирующими во времени, поэтому определим их динамические характеристики.
Состояние – это множество характеристик элементов системы, изменяющихся во времени и важных для целей ее функционирования.
Процесс (динамика) – это множество значений состояний системы, изменяющихся во времени.
Цель функционирования есть задача получения желаемого состояния системы. Достижение цели обычно влечет целенаправленное вмешательство в процесс функционирования системы, которое называется управлением.
Задачи исследования систем:
1. Анализ – изучение свойств функционирования системы.
2. Синтез – выбор структуры и параметров по заданным свойствам системы.
Пусть T = [t0, t1] есть временной интервал моделирования системы S (интервал модельного времени).
Построение модели начинается с определения параметров и переменных, определяющих процесс функционирования системы.
Параметры системы - это характеристики системы, остающиеся постоянными на всем интервале T.
Переменные бывают зависимые и независимые.
Независимые переменные есть, как правило, входные воздействия (в том числе управляющие)
ими могут быть также воздействия внешней среды.
Последовательность изменения x(t) при
называется фазовой траекторией системы,, где X – пространство состояний или фазовое пространство.
Последовательность изменения y(t) называется выходной траекторией системы.
Зависимые переменные есть выходные характеристики (сигналы)
Общая схема математической модели (ММ) функционирования системы может быть представлена в виде:
Множество переменных вместе с законами функционирования
называется математической моделью системы.
Если t непрерывно, то модель называется непрерывной, иначе – дискретной:
.
Если модель не содержит случайных элементов, то она называется детерминированной, в противном случае – вероятностной.
Если математическое описание модели слишком сложное и частично или полностью неопределенно, то в этом случае используются агрегативные модели.
Сущность агрегативной модели заключается в разбиении системы на конечное число взаимосвязанных частей (подсистем), каждая из которых допускает стандартное математическое описание. Эти подсистемы называются агрегатами.
2.3. Имитация случайных величин и процессов
Базовый датчик
Моделирование случайных элементов в системах является одной из самых базовых задач математического моделирования.
Любая случайная величина или процесс X может моделироваться следующим образом:
Базовый датчик выдает независимые равномерно распределенные случайные величины:
1. Непрерывные в (0,1).
2. Дискретные в .
Типы базовых датчиков:
1. физические (любой физический шум), они практически не используются, т.к. характеристики нестабильны и реализацию повторить нельзя;
2. псевдослучайные датчики строятся на основе детерминированного алгоритма, но полученные результаты неотличимы от случайных.
Псевдослучайные базовые датчики строятся по модели при заданном .
Требования к базовым датчикам:
1. Отрезок апериодичности.
2. Равномерность.
3. Некоррелированность.
2.4. Основы математического моделирования
Отметим основные операции математического моделирования.
1. Линеаризация. Пусть дана математическая модель
М=М(X, Y, A),
где X - множество входов, Y - множество выходов, А - множество состояний системы. Схематически можно это изобразить так:
XAY.
Если X, Y, A - линейные пространства (множества), а и
: XA, : AY
- линейные операторы, которые любые линейные комбинации ax + by преобразуют в линейные комбинации типа
a(x) + b(y),
то система (модель) называется линейной. Все другие системы (модели) - нелинейные. Они труднее поддаются исследованию, хотя и более актуальны. Нелинейные модели менее изучены, поэтому их часто линеаризуют - сводят к линейным моделям.
Например, применим операцию линеаризации по Тейлору в точке t0 = 2 к модели
У(t) = at2/2, 0 t 4,
которая является нелинейной (квадратичной). Такая процедура линеаризации дает уже линейную модель вида y = 2at - 2a.
2. Идентификация. Пусть модель системы в общем виде представлена следующим образом:
М = М(X, Y, A), A = {ai}, ai = (ai1, ai2, ..., aik)
ai - вектор состояния объекта (системы). Если вектор ai зависит от некоторых неизвестных параметров, то задача идентификации состоит в определении модели или ее параметров по некоторым дополнительным условиям, например, экспериментальным данным, характеризующим состояние системы.
Идентификация – это задача построения по результатам наблюдений математических моделей, адекватно описывающих поведение системы.
Пусть S={s1, s2, ..., sn} - некоторая последовательность сообщений или данных, получаемых от источника информации о системе,
М={m1, m2, ..., mz} - последовательность моделей, описывающих S, среди которых, возможно, содержится оптимальная (в каком-то смысле) модель, то идентификация модели М означает, что последовательность S позволяет различать две разные модели в М.
Цель идентификации - построение надежной, адекватной, эффективно функционирующей, гибкой модели на основе минимального объема информативной последовательности сообщений.
Наиболее часто используемыми на практике методами идентификации систем являются:
• метод наименьших квадратов,
• метод максимального правдоподобия,
• метод байесовских оценок,
• метод марковских цепных оценок,
• метод эвристик,
• экспертное оценивание и др.
Пример. Применим операцию идентификации параметра a в модели у=at2/2, 0 t4.
Решение. Для этого необходимо задать дополнительно значение y для некоторого t, например, y = 6 при t = 3. Тогда из модели получаем: 6 = 9a/2, a = 12/9 = 4/3. Идентифицированный параметр а определяет следующую модель y=2t2/3. Методы идентификации моделей могут быть несоизмеримо сложнее, чем приведенный прием.
3. Оценка адекватности (точности) модели.
Пример. Оценим адекватность (точность) модели , полученной в результате линеаризации. В качестве меры (критерия) адекватности рассмотрим привычную меру - абсолютное значение разности между точным значением и значением, полученным по модели. Если эта величина не велика и приемлема, то делается вывод о точности и адекватности модели.
4. Оценка чувствительности модели
Из примера, рассмотренного выше, следует, что чувствительность модели у = 2at - 2a, 0 t 4 такова, что изменение входного параметра t на 1% приводит к изменению выходного параметра y на величину 0%, т.е. эта модель является мало чувствительной к изменению t, т.е. инвариантной. При изменении t на величину, превышающую 2а%, чувствительность модели будет возрастать.
5. Вычислительный эксперимент по модели
Вычислительный эксперимент по модели - это эксперимент, осуществляемый с помощью модели на ЭВМ с целью определения или прогноза состояний системы, реакции системы на различные входные сигналы. Прибором эксперимента здесь является компьютер и модель.
Отметим основные причины, тормозящие использование математического моделирования в новых условиях:
• традиционное описание модели системами математических уравнений, соотношений плохо структурированных и плохо формализуемых систем описываются с помощью экспертных данных, эвристических и имитационных процедур, интегрированных пакетов программ, графических образов и т.д.;
• существующие средства описания и представление моделей на ЭВМ не учитывают специфику моделирования, нет единого представления моделей, генерации новых моделей по банку моделей;
• недооценка возможностей компьютера, который может делать больше, чем простая реализация алгоритма, отсутствие доступа к опыту моделирования на ЭВМ.
При компьютерном моделировании главную роль играет алгоритм (программа), компьютер и технология, т.е. инструментальная система.
При имитационном моделировании главную роль играют технология и средства моделирования.
При работе с моделями нужно помнить. Модель не эквивалентна программе, а моделирование не сводится к программированию.
Основные функции компьютера при моделировании систем следующие:
• исполнение роли вспомогательного средства для решения задач;
• исполнение роли средства постановки и решения новых задач;
• исполнение роли средства конструирования обучающих и моделирующих сред типа: "обучаемый - компьютер - обучающий", "обучающий - компьютер - обучаемый", "обучающий - компьютер - группа обучаемых", "группа обучаемых - компьютер - обучающий", "компьютер - обучаемый - компьютер";
• исполнение роли средства моделирования для получения новых знаний;
• исполнение роли "обучения" новых моделей (самообучение модели).
Компьютерное моделирование - основа представления знаний в ЭВМ (построения различных баз знаний).
Прогресс моделирования связан с разработкой систем компьютерного моделирования, которые поддерживает весь жизненный цикл модели. Автономные модели обмениваются информацией друг с другом через единую информационную шину - банк моделей, через базу знаний по компьютерному моделированию.
Особенность компьютерных систем моделирования - их высокая интеграция и интерактивность. Часто эти компьютерные среды функционируют в режиме реального времени.
Вычислительный эксперимент - разновидность компьютерного моделирования
Можно говорить сейчас и о специальных пакетах прикладных программ, текстовых, графических и табличных процессоров, о визуальных средах, особенно работающих в режиме реального времени, позволяющих осуществлять компьютерное моделирование.
Компьютерное моделирование и вычислительный эксперимент становятся новым инструментом, методом научного познания, новой технологией из-за возрастающей необходимости перехода от исследования линейных математических моделей систем к исследованию сложных и нелинейных математических моделей систем.
Грубо говоря, наши знания об окружающем мире - линейны и детерминированы, а процессы в окружающем мире - нелинейны и стохастичны.
2.5. Компьютерное моделирование
Компьютерное моделирование, от постановки задачи до получения результатов, проходит следующие этапы:
1. Постановка задачи:
• Формулировка задачи.
• Определение цели и приоритетов моделирования.
• Сбор информации о системе, объекте моделирования.
• Описание данных (их структуры, диапазона, источника и т.д.).
2. Предмодельный анализ:
• Анализ существующих аналогов и подсистем.
• Анализ технических средств моделирования:
• ЭВМ,
• периферии.
• Анализ программного обеспечения:
• языков программирования,
• пакетов прикладных программ,
• инструментальных сред.
• Анализ математического обеспечения: моделей, методов, алгоритмов.
3. Анализ задачи (модели):
• Разработка структур данных.
• Разработка входных и выходных спецификаций, форм представления
данных.
• Проектирование структуры и состава модели (подмоделей).
4. Исследование модели:
• Выбор методов исследования подмоделей.
• Выбор, адаптация или разработка алгоритмов.
• Сборка модели в целом из подмоделей.
• Идентификация модели, если в этом есть необходимость.
• Формулировка используемых критериев адекватности, устойчивости и
чувствительности модели.
5. Программирование (проектирование программы):
• Выбор метода тестирования и тестов (контрольных примеров).
• Кодирование на языке программирования (написание команд).
• Комментирование программы.
6. Тестирование и отладка:
• Синтаксическая отладка.
• Семантическая отладка (отладка логической структуры).
• Тестовые расчеты, анализ результатов тестирования.
• Оптимизация программы.
7. Оценка моделирования:
• Оценка средств моделирования.
• Оценка адекватности моделирования.
• Оценка чувствительности модели.
• Оценка устойчивости модели.
• Документирование.
• Описание задачи, целей.
• Описание модели, метода, алгоритма.
• Описание среды реализации.
• Описание возможностей и ограничений.
• Описание входных и выходных форматов, спецификаций.
• Описание тестирования.
• Создание инструкций для пользователя.
8. Сопровождение:
• Анализ применения, периодичности использования, количества
пользователей, типа использования (диалоговый, автономный и др.),
анализ отказов во время использования модели.
• Обслуживание модели, алгоритма, программы и их эксплуатация.
• Расширение возможностей: включение новых функций или изменение
режимов моделирования, в том числе и под модифицированную среду.
• Нахождение, исправление скрытых ошибок в программе, если таковые найдутся.
9. Использование модели.
Математическое и компьютерное моделирование поэтапно рассмотрим на примере следующей модели производства. Для этого возьмем укрупненные этапы моделирования производства.
Этап 1. Содержательная постановка задачи
Современное производство характерно тем, что часть производимой продукции (в стоимостном выражении) возвращается в виде инвестиций (т.е. части конечной продукции, используемой для создания основных фондов производства) в производство. При этом время возврата, ввода в оборот новых фондов может быть различным для различного рода производства. Необходимо промоделировать эту ситуацию и выявить динамику изменения величины основных фондов производства (капитала).
Сложность и многообразие, слабая структурированность и плохая формализуемость основных экономических механизмов, определяющих работу предприятий, не позволяют преобразовать процедуры принятия решений в полностью эффективные математические модели и алгоритмы прогнозирования. Поэтому целесообразно использовать простые, гибкие и надежные процедуры принятия решения.
Рассмотрим одну такую простую модель социально-экономического процесса.
Этап 2. Формулировка гипотез, построение, исследование модели
Динамика изменения величины капитала определяется в нашей модели простыми процессами производства и описывается так называемыми обобщенными коэффициентами амортизации (расхода фондов) и потока инвестиций (часть конечного продукта, используемого в единицу времени для создания основных фондов). Эти коэффициенты - относительные величины (оцениваются за единицу времени). Необходимо разработать и исследовать модель динамики основных фондов. Считаем при этом допустимость определенных гипотез, определяющих систему производства.
Пусть x(t) - величина основных фондов (капитала) в момент времени t, где 0 t N. Через промежуток времени Δt она будет равна x(t + Δt). Абсолютный прирост равен Δx = x(t + Δt) - x(t). Относительный прирост будет равен x = [x(t + Δt) - x(t)] / Δt.
Примем следующие гипотезы:
1. Cоциально - экономические условия производства достаточно хорошие и способствуют росту производства, а поток инвестиций задается в виде известной функции y(t).
2. Коэффициент амортизации фондов считается неизменным и равным m, и при достаточно малом значении Δt, изменение основных фондов прямо пропорционально текущей величине капитала, т.е.
dx = y(t) - mx(t).
Считая Δt0 и учитывая определение производной, получим из предыдущего соотношения математическое выражение закона изменения величины капитала, т.е. математическую модель (дифференциальное уравнение) динамики капитала:
x´(t) = y(t) - mx(t), x(0)=х0,
где х(0) - начальное значение капитала в момент времени t = 0.
Эта простейшая модель не отражает важного факта: социально-экономические ресурсы производства таковы, что между выделением инвестиций и их введением и использованием в выпуске новой продукции проходит время Т (лаг). Учитывая это, можно записать модель в виде
x´(t) = y(t - T) - mx(t), x(0) = х0
Этой непрерывной, дифференциальной, динамической модели можно поставить в соответствие простую дискретную модель:
хi+1 = хi + yj - mхi , x0 = с, i = 0, 1, 2, …, n,
где n - предельное значение момента времени при моделировании.
Дискретная модель следует из непрерывной при Δt = 1, при замене производной x´(t) на относительное приращение , что справедливо при малых значениях Δt.
Этап 3. Построение алгоритма и программы моделирования
Возьмем для простоты режим моделирования, когда m, c - известны и постоянны, y - увеличивается в каждый следующий момент времени на 1%. Рассмотрим наиболее простой алгоритм моделирования в укрупненных шагах.
1. Ввод входных данных для моделирования: с = х(0) - начальный капитал; n - конечное время моделирования; m - коэффициент амортизации; s - единица измерения времени; y - инвестиции.
2. Вычисление xi от i = 1 до i = n по рекуррентной формуле, приведенной выше.
3. Поиск стационарного состояния, т.е. такого момента времени j, 0 j n, начиная с которого все хj, хj +1, …, хn постоянны или изменяются на малую допустимую величину ε >0.
4. Выдача результатов моделирования и, по желанию пользователя, графика.
Этап 4. Проведение вычислительных экспериментов
Эксперимент 1. Поток инвестиций - постоянный и в каждый момент времени равен 10 000. В начальный момент капитал – 1 000000 руб. Коэффициент амортизации - 0,0025. Найти величину основных фондов через 20 суток, если лаг равен 5 суток.
Эксперимент 2. Основные фонды в момент времени t = 0 были равны 5 000. Через какое время общая их сумма превысит 120 000 руб., если поток инвестиций постоянный равный 200, известно, что m = 0.02, T=3?
Эксперимент 3. Какую стратегию инвестиций лучше использовать, если величина инвестиций постоянная, в начальный момент капитал равен 100 000 и величина амортизации постоянная?
Этап 5. Модификация (развитие) модели
Модификация 1. Коэффициент амортизации можно взять в форме m = r - sx(t), где r - коэффициент обновления фондов, s - коэффициент устаревания фондов, причем 0 r, s 1. При этом модель примет вид
x´(t) = y(t-T) - rx(t) + sx2(t), x(0) = х0
Этой непрерывной, дифференциальной, динамической модели можно поставить в соответствие простую дискретную модель:
хi+1 = хi + yj - rхi + sxi 2 ,
x0 = с, i = 0, 1, 2, …, n, 0 < j < n,
где n - предельное значение момента времени при моделировании.
Модификация 2. Одна из моделей математической экономики задается уравнением: dz / dt = ((1-c) * z(t) + k( t - w) + a) l, где z(t) - функция, которая характеризует выпуск продукции, k - коэффициент капиталовложений, a - независимые расходы производства, l - скорость реакции выпуска на капиталовложения, c - постоянная спроса, w - запаздывание (лаг).
3. Эволюционное моделирование и генетические алгоритмы
3.1. Основные атрибуты эволюционного моделирования
Потребность в прогнозе и адекватной оценке последствий осуществляемых человеком мероприятий (особенно негативных) приводит к необходимости моделирования динамики изменения основных параметров системы, динамики взаимодействия открытой системы с ее окружением (ресурсы, потенциал, условия, технологии и т.д.), с которым осуществляется обмен ресурсами в условиях враждебных, конкурентных, кооперативных или же безразличных взаимоотношений.
Здесь необходимы системный подход, эффективные методы и критерии оценки адекватности моделей, которые направлены не только на максимизацию критериев типа "прибыль", "рентабельность", но и на оптимизацию отношений с окружающей средой.
Для долгосрочного прогноза необходимо выделить и изучить достаточно полную и информативную систему параметров исследуемой системы и ее окружения, разработать методику введения мер информативности и близости состояний системы. Важно отметить, что при этом некоторые критерии и меры могут часто конфликтовать друг с другом.
Многие такие социально-экономические системы можно описывать с единых позиций, средствами и методами единой теории - эволюционной.
При эволюционном моделировании процесс моделирования сложной социально - экономической системы сводится к созданию модели его эволюции или к поиску допустимых состояний системы, к процедуре (алгоритму) отслеживания множества допустимых состояний (траекторий).
При этом актуализируются такие атрибуты биологической эволюционной динамики, как например:
1. Сообщество (корпорация, корпоративные объекты, субъекты, окружение).
2. Видовое разнообразие и распределение в экологической нише (типы распределения ресурсов, структура связей в данной корпорации).
3. Экологическая ниша (сфера влияния и функционирования, эволюции на рынке, в бизнесе).
4. Рождаемость и смертность (производство и разрушение).
5. Изменчивость (экономической обстановки, ресурсов).
6. Конкурентные взаимоотношения (рыночные отношения).
7. Память (способность к циклам воспроизводства).
8. Естественный отбор (штрафные и поощрительные меры).
9. Наследственность (производственные циклы и их предыстория).
10. Регуляция (инвестиции).
11. Самоорганизация и стремление системы в процессе эволюции максимизировать контакт с окружением в целях самоорганизации, возврата на траекторию устойчивого развития и др.
3.2. Основные направления исследования эволюции систем
При исследовании эволюции системы необходима ее декомпозиция на подсистемы с целью обеспечения:
• эффективного взаимодействия с окружением;
• оптимального обмена определяющими материальными, энергетическими, информационными, организационными ресурсами с подсистемами;
• эволюции системы в условиях динамической смены и переупорядочивания целей, структурной активности и сложности системы;
• управляемости системы, идентификации управляющей подсистемы и эффективных связей с подсистемами, обратной связи.
Пусть имеется некоторая система S с N подсистемами. Для каждой i - й подсистемы определим вектор x(i) = (x1(i), x2(i),…,xni(i)) основных параметров, без которых нельзя описать и изучить функционирование подсистемы в соответствии с целями и доступными ресурсами системы. Введем в рассмотрение функцию s(i) = s(x(i)), которую назовем функцией активности или просто активностью этой подсистемы. Например, в бизнес-процессах это понятие близко к понятию деловой активности.
Для всей системы определены вектор состояния системы x и активность системы s(x), а также понятие общего потенциала системы.
Например, потенциал активности может быть определен с помощью интеграла от активности на задаваемом временном промежутке моделирования.
Эти функции отражают интенсивность процессов, как в подсистемах, так и в системе в целом.
Важными для задач моделирования являются три значения
s(i)max, s(i)min, s(i)opt
- максимальные, минимальные и оптимальные значения активности i - й подсистемы, а также аналогичные значения для всей системы (smax, smin, sopt).
Если дана открытая экономическая система (процесс), а Н0, Н1 - энтропия системы в начальном и конечном состояниях процесса, то мера информации определяется как разность вида:
ΔН = Н0 - Н1.
Уменьшение ΔН свидетельствует о приближении системы к состоянию статического равновесия (при доступных ресурсах), а увеличение - об удалении. Величина ΔН - количество информации, необходимой для перехода от одного уровня организации системы к другой (при ΔН > 0 - более высокой, при ΔН < 0 - более низкой организации).
Рассмотрим подход и с использованием меры по Н. Моисееву.
Пусть дана некоторая управляемая система, о состояниях которой известны лишь некоторые оценки - нижняя smin и верхняя smax. Известна целевая функция управления
F(s(t), u(t)),
где s(t) - состояние системы в момент времени t, а u(t) - управление из некоторого множества допустимых управлений, причем считаем, что достижимо uopt - некоторое оптимальное управление в пространстве U, t0 < t < T, smin s smax.
Мера успешности принятия решения может быть выражена математически:
H = |(Fmax - Fmin) / (Fmax + Fmin)|,
Fmax = max F(uopt, smax), Fmin = min F(uopt, smin),
t [t0;T ], s [smin; smax].
Увеличение Н свидетельствует об успешности управления системой .
Функции должны отражать эволюцию системы, в частности, удовлетворять условиям:
1. Периодичности (цикличности), например:
( 0 < T < ∞, t: (i)(s; s(i), t) = (i)(s; s(i), t + T),
(i)(s; s(i), t) = (i)(s; s(i), t + T)).
2. Затуханию при снижении активности, например:
(s(x) 0 i = 1, 2, ..., n) => ( (i) 0, (i) 0).
3. Стационарности: выбор или определение функции (i), (i) осуществляется таким образом, чтобы система имела точки равновесного состояния, а s(i)opt, sopt достигались бы в стационарных точках x(i)opt, xopt для малых промежутков времени. В больших промежутках времени система может вести себя хаотично, самопроизвольно порождая регулярные, упорядоченные, циклические взаимодействия (детерминированный хаос).
Взаимные активности (ij)(s; s(i), s(j), t) подсистем i и j не учитываются. В качестве функции (i), (i) могут быть эффективно использованы производственные функции типа Кобба - Дугласа:
В таких функциях важен параметр i, отражающий степень саморегуляции, адаптации системы. Как правило, его нужно идентифицировать.
Функционирование системы удовлетворяет на каждом временном интервале (t; t + τ) ограничениям вида
При этом отметим, что выполнение для τ > 0 одного из двух условий
приводит к разрушению (катастрофе) системы.
Обратимся к социально - экономической среде, которая может возобновлять с коэффициентом возобновления
(τ, t, x) (0 < t 0. Тогда
Задача всегда имеет решение при x = 0. Тогда эволюционный потенциал системы можно определить как величину:
Чем выше темп возобновления - тем выше λ, чем меньше - тем ниже λ.
Напрашивается вывод. Каким бы хорошим ни было состояние ресурсов в начальный момент, они неизменно будут истощаться, если потенциал системы меньше 1.
Отметим, что если ds/dt - общее изменение энтропии системы, ds1/dt - изменение энтропии за счет необратимых изменений структуры, потоков внутри системы, ds2/dt - изменение энтропии за счет усилий по улучшению обстановки (например, экономической, экологической, социальной), то справедливо уравнение И. Пригожина:
ds/dt = ds1/dt + ds2/dt.
При эволюционном моделировании социально - экономических систем полезно использовать и классические математические модели и неклассические, в частности, учитывающие пространственную структуру системы, структуру и иерархию подсистем (графы, структуры данных и др.), опыт и интуицию (эвристические, экспертные процедуры).
Пример. Пусть дана некоторая экологическая система Ω, в которой имеются точки загрязнения (выбросов загрязнителей) xi, i = 1, 2, …, n. Каждый загрязнитель xi загрязняет последовательно экосистему в промежутке времени [ti-1; ti]. Каждый загрязнитель может оказать воздействие на активность другого загрязнителя (например, уменьшить, нейтрализовать или усилить по известному эффекту суммирования воздействия загрязнителей). Силу (меру) такого влияния можно определить через rij,
R = {rij: i = 1, 2,…, n-1; j = 2, 3,…, n}.
Структура задаётся графом: вершины - загрязнители, ребра – меры загрязнения. Найдём подстановку, минимизирующую функционал вида:
где F - суммарное загрязнение системы с данной структурой S.
Чем быстрее будет произведен учёт загрязнения в точке xi, тем быстрее осуществимы социально - экономические мероприятия по его нейтрализации. Чем меньше будет загрязнителей до загрязнителя xi, тем меньше будет загрязнение среды.
В качестве меры rij может быть взята мера, учитывающая как время начала воздействия загрязнителей, так и число, и интенсивность этих загрязнителей:
где vij - весовой коэффициент, определяющий степень влияния загрязнителя xi на загрязнитель xj (эффект суммирования), hj - весовой коэффициент, учитывающий удельную интенсивность действия загрязнителя xj и интервал τi, в течение которого уменьшается интенсивность (концентрация) загрязнителя. Весовые коэффициенты устанавливаются экспертно или экспериментально.
Принцип эволюционного моделирования предполагает необходимость и эффективность использования методов и технологии искусственного интеллекта, в частности, экспертных систем.
Адекватным средством реализации процедур эволюционного моделирования являются генетические алгоритмы.
3.3. Генетические алгоритмы
Идея генетических алгоритмов "подсмотрена" у систем живой природы, у систем, эволюция которых развертывается в сложных системах достаточно быстро.
Генетический алгоритм - это алгоритм, основанный на имитации генетических процедур развития популяции в соответствии с принципами эволюционной динамики.
Генетические алгоритмы используются для решения задач оптимизации (многокритериальной), для задач поиска и управления.
Данные алгоритмы адаптивны, они развивают решения и развиваются сами. Особенность этих алгоритмов - их успешное использование при решении сложных проблем.
Пример. Рассмотрим задачу безусловной целочисленной оптимизации (размещения): найти максимум функции f(i), i - набор из n нулей и единиц, например, при n = 5, i = (1, 0, 0, 1, 0). Это очень сложная комбинаторная задача для обычных, "негенетических" алгоритмов. Генетический алгоритм может быть построен на основе следующей укрупненной процедуры:
1. Генерируем начальную популяцию (набор допустимых решений задачи) - I0 = (i1, i2, :, in), ij {0,1} и определяем некоторый критерий достижения "хорошего" решения, критерий остановки , процедуру СЕЛЕКЦИЯ, процедуру СКРЕЩИВАНИЕ, процедуру МУТАЦИЯ и процедуру обновления популяции ОБНОВИТЬ;
2. k = 0, f0 = max{f(i), i I0};
3. выполнять пока не() :
• с помощью вероятностного оператора (селекции) выбираем два допустимых решения (родителей) i1, i2 из выбранной популяции (вызов процедуры СЕЛЕКЦИЯ);
• по этим родителям строим новое решение (вызов процедуры СКРЕЩИВАНИЕ) и получаем новое решение i;
• модифицируем это решение (вызов процедуры МУТАЦИЯ);
• если f0 < f(i) то f0 = f(i);
• обновляем популяцию (вызов процедуры ОБНОВИТЬ);
• k = k + 1
Подобные процедуры определяются с использованием аналогичных процедур живой природы (на том уровне знаний о них, что мы имеем).
Процедура СЕЛЕКЦИЯ может из случайных элементов популяции выбирать элемент с наибольшим значением f(i).
Процедура СКРЕЩИВАНИЕ (кроссовер) может по векторам i1, i2 строить вектор i, присваивая с вероятностью 0.5 соответствующую координату каждого из этих векторов - родителей. Это самая простая процедура. Используют и более сложные процедуры, реализующие более полные аналоги генетических механизмов.
Процедура МУТАЦИЯ также может быть простой или сложной. Например, простая процедура с задаваемой вероятностью для каждого вектора меняет его координаты на противоположные (0 на 1, и наоборот).
Процедура ОБНОВИТЬ заключается в обновлении всех элементов популяции в соответствии с указанными процедурами.
Хотя генетические алгоритмы и могут быть использованы для решения задач, которые, нельзя решить другими методами, они не гарантируют нахождение оптимального решения, по крайней мере, за приемлемое время. Здесь более уместны критерии типа "достаточно хорошо и достаточно быстро".
Главное же преимущество заключается в том, что они позволяют решать сложные задачи, для которых не разработаны пока устойчивые и приемлемые методы, особенно на этапе формализации и структурирования системы.
Генетические алгоритмы эффективны в комбинации с другими классическими алгоритмами, эвристическими процедурами, а также в тех случаях, когда о множестве решений есть некоторая дополнительная информация, позволяющая настраивать параметры модели, корректировать критерии отбора, эволюции.
4. Основы принятия решений и ситуационного моделирования
4.1. Основы принятия решений
Принятие решения и деятельность человека в социальной, экономической, политической, идеологической, военной сферах тесно связаны. В них крайне нежелательны ошибки, которые могут привести к пагубным последствиям. Но из-за ограниченных информационных возможностей человека ошибки всегда возможны. Поэтому есть настоятельная необходимость применения научного подхода к обоснованию и принятию решений.
Принятие решений, наряду с прогнозированием, планированием и др. является функцией управления.
Все функции управления направлены так или иначе на формирование или реализацию решений.
При прогнозировании и планировании принимаются решения, связанные с выбором методов и средств, организацией работы, оценкой достоверности информации, выбором наиболее достоверного варианта прогноза и наилучшего варианта плана.
Функция принятия решений является с методологической и технологической точек зрения более общей, чем другие функции управления.
Для лица, принимающего решение (ЛПР), принятие решений является основной задачей, которую он обязан исполнять в процессе управления. Поэтому знание методов, технологий и средств решений этой задачи является необходимым элементом квалификации руководителя, базой для дальнейшего управления.
Конечным результатом любой задачи принятия решений становится решение, конструктивное предписание к действию.
Решение является одним из видов мыслительной деятельности и имеет следующие признаки:
• имеется выбор из множества возможностей;
• выбор ориентирован на сознательное достижение целей;
• выбор основан на сформировавшейся установке к действию.
Решение тем эффективнее, чем больше степень достижения целей и меньше стоимость затрат.
Принятие решения - это выбор одного из множества рассматриваемых допустимых вариантов. Обычно их число конечно, а каждый вариант выбора определяет некоторый результат (экономический эффект, прибыль, выигрыш, полезность, надежность и т.д.), допускающий количественную оценку.
Такой результат обычно называется полезностью решения. Таким образом, ищется вариант с наибольшим значением полезности решения. Возможен и подход с минимизацией противоположной оценки, например, отрицательной величины полезности.
Часто на практике встречается ситуация, когда каждому варианту решения соответствует единственный результат (детерминированность выбора решения), хотя возможны и другие случаи, например, когда каждому варианту i и условию j, характеризующему полезность, соответствует результат решения xij. Таким образом, можно говорить о матрице решений
||xij||, i = 1,2,…,m; j =1,2,…,m.
Чтобы оценить решение, необходимо уметь оценивать все его последствия. Существуют различные подходы для такой оценки.
Например, если решения альтернативные, то можно последствия каждого из них характеризовать:
• суммой его наибольшего и наименьшего результатов,
• максимумом из возможных таких сумм,
• максимумом из максимумов по всем вариантам (оптимистическая позиция выбора),
• максимумом из среднего арифметического (нейтральная позиция выбора),
• максимумом из минимума (пессимистическая позиция) и др.
Классические модели принятия решений, как правило, являются оптимизационными, ставящими цель максимизировать выгоду и на основе этих моделей получить практическую прибыль.
Так как теоретиков больше интересует первая сторона, а практиков - вторая, то при разработке и использовании таких моделей необходимо их тесное сотрудничество. Практические рекомендации могут быть получены, если при построении модели принятия решений придать большее значение разработке имитационной модели принятия решений, с привлечением экспериментальных, полуэкспериментальных и теоретических методов. Кроме классических, оптимизационных процедур принятия решений существуют и ряд базовых неклассических (неоклассических) процедур, технологий принятия решений.
Классификация задач принятия решений проводится по различным признакам. Наиболее существенными являются:
• степень определенности информации;
• использование эксперимента для получения информации;
• количество лиц, принимающих решения;
• содержание решений;
• направленность решений.
На процесс принятия решения часто воздействуют различные случайные (стохастические) параметры, усложняющие процедуру. Недостаток информации об их распределении приводит к необходимости принятия гипотез об области их изменения и о характере их распределения.
Проблемы принятия решений с недетерминированными параметрами называют проблемами принятия решений в условиях недостатка информации.
Чем меньше информации у исследователей, тем больше может оказаться различие между ожидаемыми и действительными результатами принимаемых решений в целом.
Мера влияния информации (параметров) на результат решения называется релевантностью.
Особо важно в социально-экономической сфере принятие решения при наличии рисков (неплатежей, не возвратов кредитов, ухудшения условий жизни и т.д.).
4.2. Формализуемые решения
Формализуемые решения принимаются на основе соответствующих математических методов (алгоритмов).
Математическая модель задачи оптимизации формализуемого решения включает следующие элементы:
1. заданную оптимизируемую целевую функцию (критерий управляемости): Ф = F(x1, x2,…,xn), (j = 1, 2,…,n) , где xj - параметры, учитываемые при принятии решения (отражающие ресурсы принятия решений);
2. условия, отражающие ограниченность ресурсов и действий при принятии решений: gi(xj) < ai, ki (xj) = bi; cj < xj < di, i = 1, 2,…,m; j = 1, 2,…, n.
Непременным требованием для решения задачи оптимизации является условие n > m.
В зависимости от критерия эффективности, стратегий и факторов управления выбирается тот или иной метод (алгоритм) оптимизации.
Основными являются следующие классы методов:
1. методы линейного и динамического программирования (принятия решения об оптимальном распределении ресурсов);
2. методы теории массового обслуживания (принятие решения в системе со случайным характером поступления и обслуживания заявок на ресурсы);
3. методы имитационного моделирования (принятие решения путем проигрывания различных ситуаций, анализа откликов системы на различные наборы задаваемых ресурсов);
4. методы теории игр (принятие решений с помощью определения стратегии в тех или иных состязательных задачах);
5. методы теории расписаний (принятие решений с помощью разработки календарных расписаний выполнения работ и использования ресурсов);
6. методы сетевого планирования и управления (принятие решений с помощью оценки и перераспределения ресурсов при выполнении проектов, изображаемых сетевыми графиками);
7. методы многокритериальной (векторной) оптимизации (принятие решений при условии существования многих критериев оптимальности решения) и др.
Выбор решения - заключительный и наиболее ответственный этап процесса принятия решений.
Здесь необходимо осмыслить всю информацию, полученную на этапах постановки задачи и формирования решений и использовать ее для обоснования выбора решения. В реальных задачах принятия решений к началу этапа выбора решения еще сохраняется большая неопределенность, поэтому сразу осуществить выбор единственного решения из множества допустимых решений очень сложно.
Поэтому на практике используется принцип последовательного уменьшения неопределенности, который заключается в последовательном трехэтапном (обычно) сужении множества решений:
• На первом этапе исходное множество альтернативных решений Y сужается (используя ограничения на ресурсы) до множества приемлемых или допустимых решений Y1 Y.
• На втором этапе множество допустимых решений Y1 сужается (учитывая критерий оптимальности) до множества эффективных решений Y2 Y1.
• На третьем этапе осуществляется выбор (на основе критерия выбора и дополнительной информации, в том числе и экспертной) единственного решения Y* Y2.
Система принятия решений – это совокупность организационных, методических, программно-технических, информационно-логических и технологических обеспечений принятия решений для достижения поставленных целей.
Общая процедура принятия решений может состоять из следующих этапов:
• анализ проблемы и среды (цели принятия решения, их приоритеты, глубина и ограничения рассмотрения, элементы, связи, ресурсы среды, критерии оценки);
• постановка задачи (определение спецификаций задачи, альтернатив и критериев выбора решения);
• выбор (адаптация, разработка) метода решения задачи;
• выбор (адаптация, разработка) метода оценки решения;
• решение задачи (математическая и компьютерная обработка данных, имитационные и экспертные оценки, уточнение и модификация, если это необходимо);
• анализ и интерпретация результатов.
Задачи принятия решений могут быть поставлены и решены в условиях:
• детерминированности, т.е. определенности, формализуемости и единственности целевой функции, детерминированности риска, когда возможные решения, исходы распределены вероятностно;
• недетерминированности, т.е. неопределенности, неточности, плохой формализуемости информации.
В моделях принятия решений используются различные процедуры. В частности, наиболее просты и эффективны следующие:
• методы математического программирования;
• методы кривых безразличия;
• многокритериального выбора альтернатив на основе четкого или же нечеткого отношения предпочтения;
• последовательной оценки и последующего исключения вариантов;
• многомерного ранжирования объектов и др.
При выборе рационального решения необходимо принимать во внимание внешнюю среду и побочные явления, динамическую изменчивость критериев оценок решения, необходимость ранжирования аспектов и приоритетов решения, их неполноту и разнородность (а иногда и конфликтность).
Продемонстрируем ситуационное моделирование на примере моделирования деятельности банка. Банковская система является одной из подсистем современной экономической системы, наиболее подверженной информатизации.
Развитие банковской системы сопровождается постоянным поиском адекватных оптимальных методов и инструментов управления, принятия решений на основе экономико-математического анализа и моделирования деятельности банков.
При этом необходимо учитывать тот факт, что финансовые операции имеют еще и стохастические составляющие, усложняющие и без того сложные процессы начисления процентных ставок, взносов и выплат, регулирования и управления, инвестиций и др.
Эти процессы сложны не только динамически, но и, логически. Кроме того, от таких прогнозов зависят:
• прогноз,
• анализ темпов инфляции,
• структуры активов и пассивов банка,
• доходности акций,
• курсов валют,
• процентная ставка и др.
Ситуационный анализ денежных потоков является динамическим процессом, использующим методы оптимизации и критерии оптимальности. При ситуационном анализе некоторых базовых значений величины активов можно по некоторым критериям оптимальности выбрать оптимальный набор возможных, допустимых финансовых операций, обеспечивающих, например, наибольшую доходность.
Возможно также получение решения задач, свидетельствующего об отсутствии роста (или малого роста) каких-либо финансовых параметров, например, активов, из которого можно сделать вывод о невозможности проведения оптимизирующих операций (процедур).
Пусть dt - средний уровень доходности, получаемый в результате проведения некоторых инвестиционных мероприятий, а Pt - процентная ставка на момент времени t = 0, 1, 2, ..., T. Тогда рост активов A будет осуществляться по закону
и можно использовать при ситуационном анализе критерий эффективности:
Соотношение между доходностью активов и ценой пассивов коммерческого банка является важнейшим показателем, который отражает эффективность денежно-финансовой политики банка.
Ситуационный анализ соотношения осложняется рядом факторов:
1. Структура активов и пассивов могут отражаться ссудами различной длительности, а также различными схемами размещения и привлечения обязательств и ценных бумаг, например, возврат денег может быть осуществлен по схеме ежемесячного отчисления процентов и уплаты кредита в конце либо по схеме единовременного возврата суммы долга и процентов в конце промежутка кредитования.
2. Необходимостью учета (прогноза) инфляционного ожидания и "увеличения" или "очистки" тех или иных составляющих активов и пассивов в зависимости от инфляции;
3. Различными параметрами и факторами, влияющими на степень риска, затрудненностью оценки величины риска.
Различные структуры и схемы размещения и привлечения финансовых ресурсов определяют и различные динамические модели.
Например, если схема предусматривает возврат долга с процентами одновременно, реальная ставка рублевого кредита d может быть определена по формуле
d = (z - a) / (1 + a / 100) (%),
где z - номинальная ставка рублевого кредита (%), а - инфляция за период кредитования (%).
Одним из эффективных механизмов принятия деловых решений является использование ИСПР (просто СПР) - информационных систем поддержки решений (Decision Support Systems), сочетающих современные средства аналитической обработки и средства визуализации информации и технологии поддержки деятельности экспертной группы.
Литература
1. Казиев В.М. Введение в анализ, синтез и моделирование систем. htpp://www.intuit.ru
2. http://www.fmi.asf.ru/Library/Book/SimModel/Glava1.HTML