Этап 3. Качественный анализ
Постановка задачи моделирования должна быть подвержена всесторонней проверке а затем и предварительному качественному анализу. Цель данного этапа состоит в проверке обоснованности концептуальной постановки задачи и коррекции. Это также проводится с членами рабочей группы, иногда с привлечением не входящих в нее экспертов.
Все принятые ранее гипотезы подлежат проверке, а затем предварительному (качественному) анализу. Выявляются возможные ошибки. Например, в причинно-следственных диаграммах наиболее распространенными ошибками являются избыточные или же недостающие элементы, а также излишне произвольная трактовка учитываемых событий и связей между ними.
Иногда на данном этапе моделирования уже могут быть получены те дополнительные сведения объекте-оригинале, ради которых он подвергается моделированию. Особенно часто удается это сделать в результате качественного анализа причинно-следственных диаграмм, позволяющих учесть такое количество существенных факторов, которыми невозможно одновременно манипулировать мысленно. Среди этого множества факторов (например, влияющих на вероятность аварии или травмы) на могут быть выявлены их сочетания, включающие малое число факторов, появление и/или отсутствие которых необходимо и достаточно для возникновения или недопущения конкретного нежелательного события.
Этап 4. Построение математической модели
После завершения проверки концептуальной постановки задачи и предварительного анализа соответствующей семантической модели рабочая группа приступает к построению математической модели, а затем к выбору наиболее подходящего метода ее исследования. Наиболее предпочтительной считается аналитическая постановка и такое же решение моделируемой задачи, поскольку в этом случае используется арсенал математического анализа, включая оптимизацию. Чаще всего, это системы алгебраических уравнений, для получения которых применяются различные методы аппроксимации в имеющихся статистических данных.
Особая ценность аналитического моделирования заключается в возможности точного решения поставленной задачи, в том числе нахождения оптимальных результатов. Вместе с тем, область использования аналитических методов ограничена размерностью учитываемых факторов и зависит от уровня развития соответствующих разделов математики. Поэтому для создания математических моделей сложных систем и процессов (как в техносфере, например) требуются уже алгоритмические (численные) модели, которые могут давать лишь приближенные решения.
Степень приближения результатов, например, численного и имитационного моделирования зависит от погрешностей, обусловленных преобразованием исходных математических соотношений в численные или имитационные алгоритмы, а также от ошибок округления, возникающих при выполнении любых расчетов на ЭВМ в связи с конечной точностью представления чисел в ее памяти. Вот почему основным требованием к каждом такому алгоритму служит необходимость получения решения исходной задачи за конечное число шагов с заданной точностью.
В случае применения численного метода совокупность исходных математических соотношений заменяется конечномерным аналогом, обычно получаемым в результате замены функций непрерывных аргументов на функции дискретных параметров. После такой дискретизации составляется вычислительный алгоритм, представляющий собой последовательность арифметических и логических действий, позволяющих за конечное число шагов получить решение дискретной задачи.
При имитационном моделировании дискретизации подвергаются не математические соотношения как в предыдущем случае, а сам объект исследования, который разбивается ена отдельные компоненты. Кроме того, здесь не записываетея совокупность математическихх соотношений, описывающих поведение всего обьекта-оригинала. Вместо этого обычно составляется алгоритм, моделирующий функционирование моделируемого объекта с помощью аналитических или алгоритмических моделей.
Следует заметить, что использование математической модели, построенной с применением алгоритмических методов, аналогично проведению экспериментов с объектом, только вместо натурного эксперимента с объектом проводится так называемый машинный (вычислительный) эксперимент с его моделью.
Контроль правильности математической модели. Контроль правильности математических соотношений осуществляется с помощью следующих действий:
контроль размерностей, включающий правило, согласно которому приравниваться, складываться, перемножаться и делиться могут только величины одинаковой размерности. При переходе к вычислениям добавляется дополнительное требования соблюдения одной и той же системы единиц для значений всех параметров;
проверка порядков, состоящая в сравнении порядков складываемых или вычитаемых величин и исключении из математических соотношений малозначимых параметров;
контроль характера зависимости, предполагающий, что направление и скорость изменения выходных параметров модели должны соответствовать физическому смыслу изучаемых процессов;
проверка экстремальных ситуаций, которая заключается в наблюдении за выходными результатами модели при приближении значений ее параметров к предельно допустимым. Зачастую это делает математические соотношения более простыми и наглядными (например, при равенстве нулю какой-либо величины);
контроль физического смысла, связанный с установлением физического смысла результата и проверкой его неизменности при варьировании параметров модели от исходных до промежуточных и граничных значений;
проверка математической замкнутости, состоящая в выявлении принципиальной возможности решения системы математических соотношений и получении на ее основе однозначно интерпретируемого результата.
Математически замкнутой или «корректно поставленной» задачей принято считать такую ее постановку, при которой малым изменениям непрерывно меняющихся исходных параметров соответствуют такие же незначительные изменения выходных ее результатов.
Если это условие не удовлетворяется, численные алгоритмы не могут быть применены.
Этап 5. Разработка компьютерных программ
Использование электронно-вычислительной техники, что требует наличия соответствующих алгоритмов и компьютерных программ. Несмотря на наличие в настоящее время богатого арсенала математических алгоритмов и прикладных программ, нередко возникает потребность в самостоятельной разработке новых программ. Сам процесс создания компьютерных программ в свою очередь может быть разбит на последовательные этапы: разработка технического задания (ТЗ), проектирования структуры программ, собственно программирование (кодирование алгоритма), тестирование и отладка программ.
Само ТЗ при этом имеет следующую структуру:
название задачи – имя программы (компьютерного кода), система программирования (язык), требования к аппаратному обеспечению;
описание – содержательная и математическая постановка задачи, метод дискретизации или обработки входных данных;