ЭНЦИКЛОПЕДИЯ УЧИТЕЛЯ ИНФОРМАТИКИ

IV. Информационное моделирование

Список статей

1. Графические модели

2. Имитационные модели

3. Математические модели

4. Моделирование процессов оптимального планирования

5. Моделирование глобальных процессов

6. Моделирование физических систем и процессов

7. Моделирование экологических систем и процессов

8. Объектно-информационные модели

9. Системный анализ

10. Статистические модели

11. Табличные модели

12. Формализация и моделирование

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

Практически во всех естественных и социальных науках построение и использование моделей является мощным орудием исследований. Реальные объекты и процессы бывают столь многогранны и сложны, что лучшим способом их изучения оказывается построение модели, отображающей лишь какую-то часть реальности и потому многократно более простой, чем эта реальность. Предметом исследования и разработки информатики является методология информационного моделирования, связанная с использованием компьютерной техники и технологий. В этом смысле говорят о компьютерном моделировании. Межпредметное значение информатики в значительной степени проявляется именно через внедрение компьютерного моделирования в различные научные и прикладные области: физику и технику, биологию и медицину, экономику, управление и многие другие.

Компьютерное моделирование включает в себя процесс реализации информационной модели на компьютере и исследование с помощью этой модели объекта моделирования — проведение вычислительного эксперимента. С помощью компьютерного моделирования решаются многие научные и производственные задачи.

Информационное моделирование связано с формализацией данных об объекте моделирования (см. “Формализация и моделирование”). Построение информационной модели начинается с определения целей моделирования и анализа объекта моделирования как сложной системы, в которой требуется выделить отражаемые в модели свойства и отношения между ними (см. “Системный анализ”). Информационные модели различаются по форме представления информации об объекте моделирования. Математические модели используют язык математики для представления объекта моделирования. Отдельной разновидностью математических моделей являются статистические модели — ориентированные на обработку массовых данных (например, опросов населения), в которых имеется элемент случайности. Данные об объекте моделирования, организованные в табличной форме, составляют табличную модель. Графические средства используются для построения графических моделей. Возникший в конце прошлого столетия объектно-ориентированный подход к программированию породил новую парадигму в информационном моделировании: объектно-информационное моделирование. Компьютерные модели, воспроизводящие поведение сложных систем, для описания которых нет однозначного математического аппарата, называются имитационными моделями.

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

 1. Графические модели

Разнообразие графических моделей достаточно велико. Рассмотрим некоторые из них.

Графы

Наглядным средством отображения состава и структуры систем (см. “Системология”) являются графы.

Рассмотрим пример. Имеется словесное описание некоторой местности: “Наш район состоит из пяти поселков: Дедкино, Бабкино, Репкино, Кошкино и Мышкино. Автомобильные дороги проложены между: Дедкино и Бабкино, Дедкино и Кошкино, Бабкино и Мышкино, Бабкино и Кошкино, Кошкино и Репкино”. По такому описанию довольно трудно представить себе эту местность. Гораздо легче та же информация воспринимается с помощью схемы (см. рисунок). Это не карта местности. Здесь не выдержаны направления по сторонам света, не соблюден масштаб. На этой схеме отражен лишь факт существования пяти поселков и дорожной связи между ними. Такая схема, отображающая элементный состав системы и структуру связей, называется графом.

Составными частями графа являются вершины и ребра. На рисунке вершины изображены кружками — это элементы системы, а ребра изображены линиями — это связи (отношения) между элементами. Глядя на этот граф, легко понять структуру дорожной системы в данной местности.

Построенный граф позволяет, например, ответить на вопрос: через какие поселки надо проехать, чтобы добраться из Репкино в Мышкино? Видно, что есть два возможных пути: 1) Р К Б М и) Р К Д Б М. Можно ли отсюда сделать вывод, что 1-й путь короче 2-го? Нет, нельзя. Данный граф не содержит количественных характеристик. Это не карта, где соблюдается масштаб и есть возможность измерить расстояние.

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

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

На рассмотренных схемах каждое ребро обозначает наличие дорожной связи между двумя пунктами. Но дорожная связь действует одинаково в обе стороны: если по дороге можно проехать от Б к М, то по ней же можно проехать и от М к Б (предполагаем, что действует двустороннее движение). Такие графы являются неориентированными, а их связи называют симметричными.

Качественно иной пример графа изображен на следующем рисунке.

Граф совместимости групп крови

Этот пример относится к медицине. Известно, что у разных людей кровь отличается по группе. Существуют четыре группы крови. Оказывается, что при переливании крови от одного человека к другому не все группы совместимы. Граф показывает возможные варианты переливания крови. Группы крови — это вершины графа с соответствующими номерами, а стрелки указывают на возможность переливания одной группы крови человеку с другой группой крови. Например, из этого графа видно, что кровь I группы можно переливать любому человеку, а человек с I группой крови воспринимает только кровь своей группы. Видно также, что человеку с IV группой крови можно переливать любую, но его собственную кровь можно переливать только в ту же группу.

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

Нетрудно понять преимущества изображения модели системы переливания крови в виде графа по сравнению со словесным описанием тех же самых правил. Граф легко воспринимается и запоминается.

Дерево — граф иерархической структуры

Весьма распространенным типом систем являются системы с иерархической структурой. Иерархическая структура естественным образом возникает, когда объекты или некоторые их свойства находятся в отношении соподчинения (вложения, наследования). Как правило, иерархическую структуру имеют системы административного управления, между элементами которых установлены отношения подчиненности. Например: директор завода — начальники цехов — начальники участков — бригадиры — рабочие. Иерархическую структуру имеют также системы, между элементами которых существуют отношения вхождения одних в другие.

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

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

Дерево административной структуры РФ

У дерева существует одна главная вершина, которая называется корнем дерева. Эта вершина изображается вверху; от нее идут ветви дерева. От корня начинается отсчет уровней дерева. Вершины, непосредственно связанные с корнем, образуют первый уровень. От них идут связи к вершинам второго уровня и т.д. Каждая вершина дерева (кроме корня) имеет одну исходную вершину на предыдущем уровне и может иметь множество порожденных вершин на следующем уровне. Такой принцип связи называется “один ко многим”. Вершины, которые не имеют порожденных, называются листьями (на нашем графе это вершины, обозначающие города).

Графическое моделирование результатов научных исследований

Общую цель научной графики можно сформулировать так: сделать невидимое и абстрактное “видимым”. Последнее слово заключено в кавычки, так как эта “видимость” часто весьма условна. Можно ли увидеть распределение температуры внутри неоднородно нагретого тела сложной формы без введения в него сотен микродатчиков, т.е., по существу, его разрушения? — Да, можно, если есть соответствующая математическая модель и, что очень важно, договоренность о восприятии определенных условностей на рисунке. Можно ли увидеть распределение металлических руд под землей без раскопок? Строение поверхности чужой планеты по результатам радиолокации? На эти и множество других вопросов ответ — да, можно, с помощью компьютерной графики и предшествующей ей математической обработки.

Более того, можно “увидеть” и то, что, строго говоря, вообще плохо соответствует слову “видеть”. Так, возникшая на стыке химии и физики наука — квантовая химия — дает нам возможность “увидеть” строение молекулы. Эти изображения — верх абстракции и системы условностей, так как в атомном мире обычные наши понятия о частицах (ядрах, электронах и т.п.) принципиально неприменимы. Однако многоцветное “изображение” молекулы на экране компьютера для тех, кто понимает всю меру его условности, приносит большую пользу, чем тысячи чисел, являющихся результатами вычислений.

Изолинии

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

Изолинии течения

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

Условные цвета, условное контрастирование

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

В различных исследованиях температурных полей встает проблема наглядного представления результатов, например, температур на метеорологических картах. Для этого можно рисовать изотермы на фоне карты местности. Но можно добиться еще большей наглядности, учитывая, что большинству людей свойственно воспринимать красный цвет как “горячий”, синий — как “холодный”. Переход по спектру от красного к синему отражает промежуточные значения температур.

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

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

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

Методические рекомендации

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

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

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

2. Имитация модели

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

· объект моделирования — сложная неоднородная система;

· в моделируемой системе присутствуют факторы случайного поведения;

· требуется получить описание процесса, развивающегося во времени;

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

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

Детерминированное моделирование

Имитационная модель основана на подражании реальному процессу (имитации). Например, моделируя изменение (динамику) численности микроорганизмов в колонии, можно рассматривать много отдельных объектов и следить за судьбой каждого из них, ставя определенные условия для его выживания, размножения
и т.д. Эти условия обычно задаются в вербальной форме. Например: по истечении некоторого промежутка времени микроорганизм делится на две части, а по прошествии другого (большего) временноRго отрезка — погибает. Выполнение описанных условий алгоритмически реализуется в модели.

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

Такой компьютерный эксперимент фактически претендует на воспроизведение натурного эксперимента. На вопрос: “Зачем это нужно делать?” можно дать следующий ответ: имитационное моделирование позволяет выделить “в чистом виде” следствия гипотез, заложенных в представления о микрособытиях (т.е. на уровне элементов системы), избавив их от неизбежного в натурном эксперименте влияния других факторов, о которых мы можем даже не подозревать. Если такое моделирование включает и элементы математического описания процессов на микроуровне, и если исследователь при этом не ставит задачу поиска стратегии регулирования результатов (например, управления численностью колонии микроорганизмов), то отличие имитационной модели от математической (дескриптивной) оказывается достаточно условным.

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

Модели случайных процессов

Кому не случалось стоять в очереди и с нетерпением прикидывать, успеет ли он сделать покупку (или заплатить за квартиру, покататься на карусели и т.д.) за некоторое имеющееся в его распоряжении время? Или, пытаясь позвонить по телефону в справочную и натыкаясь несколько раз на короткие гудки, нервничать и оценивать — дозвонюсь или нет? Из таких “простых” проблем в начале XX века родилась новая отрасль математики — теория массового обслуживания, использующая аппарат теории вероятностей и математической статистики, дифференциальных уравнений и численных методов. Впоследствии выяснилось, что эта теория имеет многочисленные выходы в экономику, военное дело, организацию производства, биологию и экологию и т.д.

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

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

· ремонтная зона в автохозяйстве и автобусы, сошедшие с линии из-за поломки;

· травмпункт и больные, пришедшие на прием по случаю травмы (т.е. без системы предварительной записи);

· телефонная станция с одним входом (или одной телефонисткой) и абоненты, которых при занятом входе ставят в очередь (такая система иногда практикуется);

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

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

Целью моделирования систем такого вида является получение ответа на ряд вопросов. Относительно простой вопрос — какое в среднем время придется стоять в очереди при заданных законах распределения указанных выше случайных величин? Более сложный вопрос: каково распределение времен ожидания обслуживания в очереди? Не менее сложный вопрос: при каких соотношениях параметров входных распределений наступит кризис, при котором очередь до вновь вошедшего покупателя не дойдет никогда? Если задуматься над этой относительно простой задачей, возможные вопросы будут множиться.

Способ моделирования выглядит в общих чертах так. Используемые математические формулы — законы распределения исходных случайных величин; используемые числовые константы — эмпирические параметры, входящие в эти формулы. Не решается никаких уравнений, которые использовались бы при аналитическом исследовании данной задачи. Вместо этого происходит имитация очереди, разыгрываемая с помощью компьютерных программ, генерирующих случайные числа с заданными законами распределения. Затем производится статистическая обработка совокупности полученных значений величин, определяемых заданными целями моделирования. Например, находится оптимальное количество продавцов для разных периодов времени работы магазина, которое обеспечит отсутствие очередей. Математический аппарат, который здесь используется, называется методами математической статистики.

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

Пример алгоритма детерминированной имитационной модели

Рассмотрим имитационную модель эволюции популяции живых организмов, известную под названием “Жизнь”, которую легко реализовать на любом языке программирования.

Для построения алгоритма игры рассмотрим квадратное поле из n + 1 столбцов и строк с обычной нумерацией от 0 до n. Крайние граничные столбцы и строки для удобства определим как “мертвую зону”, они играют лишь вспомогательную роль.

Для любой внутренней клетки поля с координатами (i, j) можно определить 8 соседей. Если клетка “живая”, ее закрашиваем, если клетка “мертвая”, она пустая.

Зададим правила игры. Если клетка (i, j) “живая” и ее окружает более трех “живых” клеток, она погибает (от перенаселения). “Живая” клетка также погибает, если в ее окружении находится менее двух “живых” клеток (от одиночества). “Мертвая” клетка оживает, если вокруг нее появляются три “живые” клетки.

Для удобства введем двумерный массив A[0..n, 0..n], элементы которого принимают значение 0, если соответствующая клетка пустая, и 1, если клетка “живая”. Тогда алгоритм определения состояния клетки с координатой (i, j) можно определить следующим образом:

S := А[I - 1, J - 1] + А[I – 1, J] +

+ А[I - 1, J + 1] + А[I + 1, J - 1]

+ А[I + 1, J] + А[I + 1, J + 1] +

+ А[I, J + 1] + А[I, J - 1];

If (А[I, J] = 1) And ((S > 3) Or

(S <)) Then B[I, J] := 0;

If (A[I, J] = 0) And (S = 3)

Then B[I, J] := 1;

Здесь массив B[0..n, 0..n] определяет координаты поля на следующем этапе. Для всех внутренних клеток от i = 1 до n – 1 и j = 1 до n – 1 справедливо сказанное выше. Отметим, что последующие поколения определяются аналогично, стоит лишь осуществить процедуру переприсваивания:

For I := 1 To N - 1 Do

For J := 1 To N - 1 Do

A[I, J] := B[I, J];

На экране дисплея удобнее выводить состояние поля не в матричном, а в графическом виде.

Осталось лишь определить процедуру задания начальной конфигурации игрового поля. При случайном определении начального состояния клеток подходит алгоритм

For I := 1 To K Do

Begin K1 := Random(N - 1);

K2 := Random(N - 1) + 1;

A[K1, K2] := 1

End;

Интереснее для пользователя самому задавать начальную конфигурацию, что легко осуществить. В результате экспериментов с этой моделью можно найти, например, устойчивые расселения живых организмов, которые никогда не погибают, оставаясь неизменными или изменяя свою конфигурацию с определенным периодом. Абсолютно неустойчивым (гибнущим во втором поколении) является расселение “крестом”.

Методические рекомендации

В базовом курсе информатики ученики могут реализовать имитационную модель “Жизнь” в рамках раздела “Введение в программирование”. Более основательное освоение имитационного моделирования может происходить в старших классах в профильном или элективном курсе информатики. Далее будет говориться о таком варианте.

Начало изучения — лекция об имитационном моделировании случайных процессов. В российской школе понятия теории вероятностей и математической статистики лишь начинают внедряться в курс математики, и учителю следует быть готовым к тому, чтобы самому сделать введение в этот важнейший для формирования мировоззрения и математической культуры материал. Подчеркнем, что речь идет об элементарном введении в круг обсуждаемых понятий; это можно сделать за 1–2 часа.

Потом обсуждаем технические вопросы, связанные с генерацией на ЭВМ последовательностей случайных чисел с заданным законом распределения. Опираться при этом можно на то, что в каждом универсальном языке программирования есть датчик равномерно распределенных на отрезке от 0 до 1 случайных чисел. На данном этапе нецелесообразно вдаваться в сложный вопрос о принципах его реализации. Опираясь на имеющиеся датчики случайных чисел, показываем, как можно устроить

а) генератор равномерно распределенных случайных чисел на любом отрезке [a, b];

б) генератор случайных чисел под практически любой закон распределения (например, используя интуитивно ясный метод “отбора-отказа”).

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

Обращаем внимание учащихся на то, какие вопросы ставятся в первую очередь при моделировании систем такого вида. Во-первых, это вычисление средних значений (математических ожиданий) некоторых случайных величин. Например, какое среднее время приходится стоять в очереди к прилавку? Или: найти среднее время, проведенное продавцом в ожидании покупателя.

Задача учителя, в частности, состоит в том, чтобы разъяснить, что выборочные средние сами по себе — случайные величины; в другой выборке того же объема они будут иметь другие значения (при больших объемах выборки — не слишком отличающиеся друг от друга). Далее возможны варианты: в более подготовленной аудитории можно показать способ оценивания доверительных интервалов, в которых находятся математические ожидания соответствующих случайных величин при заданных доверительных вероятностях (известными из математической статистики методами без попытки обоснования). В менее подготовленной аудитории можно ограничиться чисто эмпирическим утверждением: если в нескольких выборках равного объема средние значения совпали в некотором десятичном знаке, то этот знак скорее всего верен. Если при моделировании не удается достичь желаемой точности, следует увеличить объем выборки.

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

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

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

На примере задачи об очереди отрабатываются сразу несколько новых понятий и навыков:

· понятия о случайных процессах;

· понятия и простейшие навыки имитационного моделирования;

· построение оптимизационных имитационных моделей;

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

Все рекомендации по организационному построению уроков, данные в статье “Математическое моделирование” 2, в полной мере применимы и в данном случае.

3. Математические модели

Математическая модель — приближенное описание объекта моделирования, выраженное с помощью математической символики.

Математические модели появились вместе с математикой много веков назад. Огромный толчок развитию математического моделирования придало появление ЭВМ. Применение вычислительных машин позволило проанализировать и применить на практике многие математические модели, которые раньше не поддавались аналитическому исследованию. Реализованная на компьютере математическая модель называется компьютерной математической моделью, а проведение целенаправленных расчетов с помощью компьютерной модели называется вычислительным экспериментом.

Этапы компьютерного математического моделирования изображены на рисунке. Первый этап — определение целей моделирования. Эти цели могут быть различными:

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

2) модель нужна для того, чтобы научиться управлять объектом (или процессом) и определить наилучшие способы управления при заданных целях и критериях (управление);

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

Поясним на примерах. Пусть объект исследования — взаимодействие потока жидкости или газа с телом, являющимся для этого потока препятствием. Опыт показывает, что сила сопротивления потоку со стороны тела растет с ростом скорости потока, но при некоторой достаточно высокой скорости эта сила скачком уменьшается с тем, чтобы с дальнейшим увеличением скорости снова возрасти. Что же вызвало уменьшение силы сопротивления? Математическое моделирование позволяет получить четкий ответ: в момент скачкообразного уменьшения сопротивления вихри, образующиеся в потоке жидкости или газа позади обтекаемого тела, начинают отрываться от него и уноситься потоком.

Пример совсем из другой области: мирно сосуществовавшие со стабильными численностями популяции двух видов особей, имеющих общую кормовую базу, “вдруг” начинают резко менять численность. И здесь математическое моделирование позволяет (с известной долей достоверности) установить причину (или по крайней мере опровергнуть определенную гипотезу).

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

Наконец, прогнозирование последствий тех или иных воздействий на объект может быть как относительно простым делом в несложных физических системах, так и чрезвычайно сложным — на грани выполнимости — в системах биолого-экономических, социальных. Если ответить на вопрос об изменении режима распространения тепла в тонком стержне при изменениях в составляющем его сплаве относительно легко, то проследить (предсказать) экологические и климатические последствия строительства крупной ГЭС или социальные последствия изменений налогового законодательства несравненно труднее. Возможно, и здесь методы математического моделирования будут оказывать в будущем более значительную помощь.

Второй этап: определение входных и выходных параметров модели; разделение входных параметров по степени важности влияния их изменений на выходные. Такой процесс называется ранжированием, или разделением по рангам (см.Формализация и моделирование”).

Третий этап: построение математической модели. На этом этапе происходит переход от абстрактной формулировки модели к формулировке, имеющей конкретное математическое представление. Математическая модель — это уравнения, системы уравнений, системы неравенств, дифференциальные уравнения или системы таких уравнений и пр.

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

Пятый этап: разработка алгоритма, составление и отладка программы для ЭВМ — трудно формализуемый процесс. Из языков программирования многие профессионалы для математического моделирования предпочитают FORTRAN: как в силу традиций, так и в силу непревзойденной эффективности компиляторов (для расчетных работ) и наличия написанных на нем огромных, тщательно отлаженных и оптимизированных библиотек стандартных программ математических методов. В ходу и такие языки, как PASCAL, BASIC, C, — в зависимости от характера задачи и склонностей программиста.

Шестой этап: тестирование программы. Работа программы проверяется на тестовой задаче с заранее известным ответом. Это — лишь начало процедуры тестирования, которую трудно описать формально исчерпывающим образом. Обычно тестирование заканчивается тогда, когда пользователь по своим профессиональным признакам сочтет программу верной.

Седьмой этап: собственно вычислительный эксперимент, в процессе которого выясняется, соответствует ли модель реальному объекту (процессу). Модель достаточно адекватна реальному процессу, если некоторые характеристики процесса, полученные на ЭВМ, совпадают с экспериментально полученными характеристиками с заданной степенью точности. В случае несоответствия модели реальному процессу возвращаемся к одному из предыдущих этапов.

Классификация математических моделей

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

· дескриптивные (описательные) модели;

· оптимизационные модели;

· многокритериальные модели;

· игровые модели.

Поясним это на примерах.

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

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

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

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

Методические рекомендации

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

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

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

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

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

Если результаты удовлетворяют ученика и учителя, то работа считается завершенной, и ее конечным этапом является составление отчета. Отчет включает в себя краткие теоретические сведения по изучаемой теме, математическую постановку задачи, алгоритм решения и его обоснование, программу для ЭВМ, результаты работы программы, анализ результатов и выводы, список использованной литературы.

Когда все отчеты составлены, на зачетном занятии учащиеся выступают с краткими сообщениями о проделанной работе, защищают свой проект. Это является эффективной формой отчета группы, выполняющей проект, перед классом, включая постановку задачи, построение формальной модели, выбор методов работы с моделью, реализацию модели на компьютере, работу с готовой моделью, интерпретацию полученных результатов, прогнозирование. В итоге учащиеся могут получить две оценки: первую — за проработанность проекта и успешность его защиты, вторую — за программу, оптимальность ее алгоритма, интерфейс и т.д. Учащиеся получают отметки и в ходе опросов по теории.

Существенный вопрос — каким инструментарием пользоваться в школьном курсе информатики для математического моделирования? Компьютерная реализация моделей может быть осуществлена:

· с помощью табличного процессора (как правило, MS Excel);

· путем создания программ на традиционных языках программирования (Паскаль, Бейсик и др.), а также на их современных версиях (Delphi, Visual Basic for Application и т.п.);

· с помощью специальных пакетов прикладных программ для решения математических задач (MathCAD и т.п.).

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

4. Моделирование глобальных процессов

Модели, используемые в различных науках (физике, биологии, экономике и др.), представляют собой математические образы относительно обособленных процессов и явлений. Каждая из них позволяет решать задачи, важные для конкретной науки или вида деятельности. Но все это по своей общечеловеческой важности уступает самому значительному для людей вопросу: каково ближайшее будущее человечества как вида в целом? Как будет развиваться мир в обозримом будущем? Подчеркнем, что речь идет не о политических или экономических прогнозах для какой-то конкретной страны или общества, а о человечестве в целом — какое у него (у нас всех, живущих на Земле) будущее?

Люди в текущей жизни имеют много конкретных проблем и мало склонны к таким общим размышлениям. Жизнь отдельного человека слишком коротка, и еще век-другой назад глобальные изменения в мире на протяжении жизни одного человека были мало заметны, даже если он жил в достаточно бурную эпоху. Но в XX веке темпы событий ускорились так, как никогда в истории человечества. Все чаще стали звучать предсказания грядущих глобальных катастроф: гибель природы из-за промышленных загрязнений, появления “озоновых дыр” в защищающей нас от космических излучений стратосфере, истощение средств воспроизведения кислорода из-за массовой вырубки лесов и т.д. Даже не столь катастрофическое событие — например, истощение природных ископаемых — может привести к радикальным переменам в образе жизни человечества, и в первую очередь в странах, которые сегодня являются наиболее промышленно развитыми.

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

Соответствующие модели, получившие название глобальных (всеохватывающих), впервые возникли в 70-х годах прошлого века. Наиболее известны модели WORLD-1 (МИР-1), WORLD-2, WORLD-3, сформулированные и изученные группой сотрудников Массачусетсского технологического института (США) под руководством Д.Х. Медоуз и Д.Форрестера. Результаты их работ в свое время произвели в мире сенсацию, ибо большинство сценариев возможного развития событий вели к финалам, которые можно назвать концом света (разумеется, с точки зрения человечества). Вместе с тем авторы не раз подчеркивали, что речь идет не о заведомо предопределенном будущем, а о выборе путей развития человечества, среди которых есть и ведущие к стабильности, к благополучному существованию человечества.

Что может являться причиной возможной нестабильности? Характерной чертой жизни человечества в эпоху после начала промышленной революции стал быстрый — часто экспоненциально быстрый — рост многих показателей. Период удвоения численности населения Земли составляет примерно 40 лет (наличие такого постоянного периода — характерная черта экспоненциального роста). Биологи и экологи хорошо знают, что экспоненциальное наращивание численности популяции чаще всего кончается катастрофой — истощаются источники, поддерживающие ее существование. С точки зрения существования вида это не трагедия (кроме уникальных случаев, когда данный вид весь сводится к одной популяции). Однако в наше время человечество израсходовало почти все ресурсы для экстенсивного роста и распространения “вширь”. Объем промышленного производства в XX веке также возрастал практически экспоненциально с годовым темпом прироста в среднем на 3,3%. Это приводит к истощению природных ресурсов — полезных ископаемых, чистой воды, чистого воздуха. Содержание в атмосфере одного из устойчивых соединений углерода (диоксида) в результате сжигания органического топлива и истощения лесов возросло с начала века на треть; потенциально это ведет к глобальному потеплению на Земле с самыми катастрофическими последствиями. Чем больше людей, тем больше необходимо продуктов питания, и мировой объем вносимых минеральных удобрений растет экспоненциально с периодом удвоения около 15 лет. Ясно и без всякого моделирования, что подобная жизнь с безудержным ростом всего и вся не может длиться долго — а ныне “долго” сопоставимо со сроком жизни двух-трех поколений.

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

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

1. Для возобновляемых ресурсов (лес, вода, рыба и т.д.) темпы потребления не должны превышать темпов естественного восстановления.

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

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

В настоящее время человечество, к сожалению, не руководствуется этими правилами. Если в прошлые века это не представляло опасности для вида в целом, то в наши дни ситуация изменилась.

Опишем коротко одну из глобальных моделей — WORLD-3 (МИР-3). Модель состоит из пяти секторов:

· стойкие загрязнения;

· невозобновляемые ресурсы;

· население;

· сельское хозяйство (производство продуктов питания, плодородие земель, освоение земель);

· экономика (промышленное производство, производство услуг, рабочие места).

Исходными являются первичные взаимосвязи, такие, как:

· численность населения и запасы промышленного капитала;

· численность населения и площадь возделываемых земель;

· площадь возделываемых земель и объем промышленного капитала;

· численность населения и капитал сектора услуг;

· капитал сектора услуг и промышленный капитал и т.д.

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

Модель WORLD-3 носит черты дескриптивные и оптимизационные. Ее основное назначение — представить возможные пути достижения экономикой (в широком смысле термина) такой численности населения планеты, которая может поддерживаться окружающей средой неопределенно долгое время. Она не предсказывает развитие конкретной страны, не решает никаких локальных вопросов. Модель исходит из того, что на Земле существует глобальное сообщество.

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

Типичные для модели WORLD взаимосвязи, находящие выражения математическими средствами (дифференциальными и “обычными” уравнениями), приведены на рисунке. Он демонстрирует связи между численностью населения, промышленным капиталом, площадью возделываемых земель и загрязнением окружающей среды. Каждая стрелка на рисунке указывает наличие причинной связи, которая может быть непосредственной или запаздывающей, положительной или отрицательной.

Контуры обратных связей чсленности населения, капитала, сельскохозяйственного производства и загрязнения окружающей среды

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

Некоторый набор таких рисунков графически исчерпывает модель WORLD. Однако за каждой стрелкой — первичные взаимосвязи, а за каждой из них — уравнения, в которые входит ряд параметров. Фактически именно значения этих параметров и определяют результаты, поэтому к их анализу привлекаются как многочисленные узкие специалисты, так и многие эмпирические (статистические) данные, собранные в десятках справочников, отчетов ООН и отдельных государств. Количество взаимосвязанных переменных в модели WORLD-3 равно 225, параметров — еще больше.

Результаты глобального моделирования

Опубликованные “сценарии” развития человечества, следующие из моделей WORLD, охватывают промежуток времени от 1900 до 2100 года. Первые 100 лет, уже прошедшие, позволяют “настраивать” модель, определить степень ее достоверности.

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

Вместе с тем модель WORLD позволяет найти пути регулируемого развития, которое ведет к плавному (“сигмоидному”) поведению основных переменных. Этот путь связан с самоограничениями и переходом на усовершенствованные промышленные и сельскохозяйственные технологии.

5. Моделирование процессов оптимального планирования

Постановка задачи оптимального планирования

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

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

· имеются некоторые плановые показатели: X, Y, …;

· имеются некоторые ресурсы: R1, R2, …, за счет которых эти плановые показатели могут быть достигнуты;

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

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

Приведем примеры. Пусть объектом планирования является детский сад. Ограничимся лишь двумя плановыми показателями: числом детей и числом воспитателей. Основными ресурсами деятельности детского сада являются размер финансирования и размер помещения. А каковы стратегические цели? Естественно, одной из них является сохранение и укрепление здоровья детей. Количественной мерой этой цели является минимизация заболеваемости воспитанников детского сада.

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

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

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

Пример математической модели оптимального планирования

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

Школьный кондитерский цех готовит пирожки и пирожные. В силу ограниченности емкости склада за день можно приготовить в совокупности не более 700 изделий. Рабочий день в кондитерском цехе длится 8 часов. Поскольку производство пирожных более трудоемко, то, если выпускать только их, за день можно произвести не более 250, пирожков же можно произвести 1000 (если при этом не выпускать пирожных). Стоимость пирожного вдвое выше, чем пирожка. Требуется составить дневной план производства, обеспечивающий кондитерскому цеху наибольшую выручку.

Сформулируем эту задачу математически. Плановыми показателями являются:

x — дневной план выпуска пирожков;

y — дневной план выпуска пирожных.

Ресурсы производства — это:

· длительность рабочего дня — 8 часов;

· вместимость складского помещения — 700 мест.

Получим соотношения, следующие из условий ограниченности времени работы цеха и вместимости склада, т.е. суммарного числа изделий. Из постановки задачи следует, что на изготовление одного пирожного затрачивается в 4 раза больше времени, чем на 1 пирожок. Если обозначить время изготовления пирожка t мин., то время изготовления пирожного равно 4t мин. Стало быть, суммарное время на изготовление x пирожков и y пирожных равно tx + 4ty = (x + 4y)t. Но это время не может быть больше длительности рабочего дня. Отсюда следует неравенство (x + 4y)t 8 ? 60, или (x + 4y)t 480.

Поскольку за рабочий день может быть изготовлено 1000 пирожков, то на один тратится 480/1000 = 0,48 мин. Подставляя это значение в неравенство, получим: (x + 4y) ? 0,48 480. Отсюда x + 4y 1000. Ограничение на общее число изделий дает очевидное неравенство x + y 700.

К двум полученным неравенствам следует добавить условия положительности значений величин x и y (не может быть отрицательного числа пирожков и пирожных). В итоге мы получили систему неравенств:

x + 4y LesQ.gif (65 bytes) 1000, x + y 700, x 0, y 0                                      ()

Формализуем стратегическую цель: получение максимальной выручки. Выручка — это стоимость всей проданной продукции. Пусть цена одного пирожка r рублей. По условию задачи, цена пирожного в два раза больше, т.е. 2r рублей. Отсюда стоимость всей произведенной за день продукции равна rx + 2ry = r(x + 2y). Целью производства является получение максимальной выручки. Будем рассматривать записанное выражение как функцию от x, y: F(x, y) = r(x + 2y). Поскольку r — константа, то максимальное значение F(x, y) будет достигнуто при максимальной величине выражения x + 2y. Поэтому в качестве функции, максимум которой соответствует стратегической цели, можно принять

 

f(x, y) = x + 2y                                                              ()

Следовательно, получение оптимального плана свелось к следующей математической задаче: найти значения плановых показателей x и y, удовлетворяющих системе неравенств () и придающих максимальное значение целевой функции ().

Методические рекомендации

Приведенный выше пример относится к классу задач линейного программирования. В теории оптимального планирования существует несколько классов задач, из которых линейное программирование — самый простой вариант. Изучение математических методов решения таких задач выходит за рамки целей школьного образования.

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

Вначале подготовим таблицу к решению задачи оптимального планирования.

Ячейки B5 и C5 зарезервированы, соответственно, для значений x (план по изготовлению пирожков) и y (план по изготовлению пирожных). Левые части неравенств в столбце В, правые — в столбце D; знаки “<=” и т.д. в столбце С программой реально не используются. Целевая функция занесена в ячейку В15.

Вызовем программу оптимизации и сообщим ей, где расположены данные. Для этого выполним команду Ю Сервис Ю Поиск решения. На экране откроется соответствующая форма. Будем действовать по следующему алгоритму:

1. Введем координату ячейки с целевой функцией. В нашем случае это В15. (Заметим, что если перед этим установить курсор на ячейку В15, то ввод произойдет автоматически.)

2. Поставим отметку “Равной максимальному значению”, т.е. сообщим программе, что нас интересует нахождение максимума целевой функции.

3. В поле “Изменяя ячейки” введем В5:С5, т.е. сообщим, какое место отведено под значения переменных — плановых показателей.

4. В поле “Ограничения” надо ввести информацию о неравенствах-ограничениях, которые имеют вид: B10<=D10; B11<=D11; B12>=D12; B13>=D13. Ограничения вводятся следующим образом:

· щелкнуть по кнопке “Добавить”;

· в появившемся диалоговом окне “Добавление ограничения” вводим ссылку на ячейку В10, выбираем из меню знак неравенства “<=” и вводим ссылку на ячейку D10; снова щелкаем по кнопке “Добавить”, аналогично вводим второе ограничение B11<=D11 и т.д.

5. Закрываем диалоговое окно “Добавление ограничения”. Перед нами — подготовленная форма “Поиск решения”.

6. Щелкаем по кнопке “Выполнить” — в ячейках В5 и С5 появляется оптимальное решение (числа 600 и 100), а также число 800 в ячейке В15 — максимальное значение целевой функции.

6. Моделирование физических систем и процессов

Физическая наука неразрывно связана с математическим моделированием со времен Исаака Ньютона (XVII–XVIII вв.). И.Ньютон открыл фундаментальные законы механики, закон всемирного тяготения, описав их на языке математики. И.Ньютон (наряду с Г.Лейбницем) разработал дифференциальное и интегральное исчисления, ставшие основой математического аппарата физики. Все последующие физические открытия (в термодинамике, электродинамике, атомной физике и пр.) представлялись в форме законов и принципов, описываемых на математическом языке, т.е. в форме математических моделей.

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

В простейшей ситуации решение задачи можно получить “вручную” аналитически. В большинстве же практически важных ситуаций найти аналитическое решение не удается из-за математической сложности модели. В таком случае используются численные методы решения задачи, эффективная реализация которых возможна только на компьютере. Иначе говоря, физические исследования на основе сложных математических моделей производятся путем компьютерного математического моделирования. В связи с этим в ХХ веке наряду с традиционным делением физики на теоретическую и экспериментальную возникло новое направление — “вычислительная физика”.

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

Пример математического моделирования физического процесса

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

.                                                                (1)

При этом подразумевается, что сила и масса — постоянные величины. В таком случае и ускорение тоже будет постоянной величиной. Следовательно, уравнение (1) моделирует равноускоренное движение тела с постоянной массой под действием постоянной силы.

Применимость такой модели ограничена. Ее нельзя использовать для расчета движения тел с переменной массой и переменной силой. Например, при полете ракеты ее масса уменьшается за счет выгорания топлива, т.е. масса является функцией времени: m(t). Вследствие этого ускорение тоже становится переменной величиной и математическая модель изменится:

.

Учтем, что ускорение — это производная от скорости (v) по времени, и опишем функцию изменения массы со временем (пусть она будет линейной); получим следующую математическую модель движения:

                                                        (2)

Здесь m0начальная масса ракеты, q (кг/с) — параметр, определяющий скорость сгорания топлива. Уравнение (2) — это дифференциальное уравнение, в отличие от линейного алгебраического уравнения (1). Математическая модель усложнилась! Решать уравнение (2) значительно сложнее, чем (1). Если же учесть еще и возможность изменения со временем силы F(t) (сила тяги ракетного двигателя в процессе запуска — переменная величина), то модель станет еще сложнее:

                                                       (3)

При движении тел в атмосфере (или в жидкой среде) необходимо учитывать сопротивление среды — силу трения. Сила трения имеет две составляющие: пропорциональную первой степени скорости тела и пропорциональную ее квадрату. Теперь уравнение движения примет вид:

,                                                   (4), (5)

Здесь k1 и k2 — эмпирические коэффициенты. Уравнение (5) связывает скорость с перемещением. Модель (4)–(5) стала ближе к физически реальной ситуации, но сложнее с математической точки зрения. Используя ее, можно получить ответы на практически важные вопросы. Например: при заданной F(t) определить, через сколько времени и на какой высоте ракета достигнет первой космической скорости. Или решить обратную задачу: какой должна быть сила тяги двигателя для того, чтобы на заданной высоте ракета достигла первой космической скорости? Если учитывать еще тот факт, что коэффициенты k1 и k2переменные величины, поскольку они зависят от плотности атмосферного воздуха, которая уменьшается с высотой, математическая модель (4)–(5) становится достаточно сложной. Решение на основе такой модели задач, сформулированных выше, требует использования численных методов и компьютера.

Применение численных методов

Численные методы — это методы, сводящие решение любой математической задачи к арифметическим вычислениям. Покажем применение численного метода решения на примере более простой задачи механики, чем задача о полете ракеты. Рассмотрим задачу о свободном падении тела постоянной массы m под действием постоянной силы тяжести. Уравнения движения с учетом сопротивления воздуха (об этом говорилось выше) имеют вид:

,                                                    (6)

.                                                             (7)

Здесь v — вертикальная составляющая вектора скорости. Пусть начальная высота тела над землей равна s0, а начальная скорость — v0.

Покажем применение метода, который называется методом Эйлера, к расчету движения падающего тела. Расчет производится от начального момента времени t = 0 с малым конечным шагом по времени t. За время t скорость изменится на величину v. 

На основании определения производной заменим в уравнении (6) производную на приближенное к ней отношение v/t. Зная скорость v0 в начальный момент времени t = 0 и обозначив через v1 ее значение в момент t, перепишем уравнение (6) в виде:

.

Отсюда получим формулу для вычисления v1:

.

Это и есть формула метода Эйлера.

Далее рассуждение ведется по индукции. Располагая значением v1, можно, отталкиваясь от него, найти v2 — скорость в момент времени 2t и т.д. Общий вид формулы применительно к данной задаче получится таким:

     (n = 0, 1, 2, …). (8)

Применяя аналогичный подход к уравнению (7), получаем формулу метода Эйлера для вычисления перемещения падающего тела со временем:

                                (9)

Имея начальные значения скорости и перемещения и используя формулы (8), (9), можно шаг за шагом вычислять значения v и s в последовательные моменты времени. Этот процесс несложно запрограммировать, а полученные результаты вывести в виде числовой таблицы и представить в графическом виде.

Анализ и интрпретация результатов

На рисунке показан результат графической обработки численно полученной зависимости скорости падения тела от времени при некотором наборе параметров m, k1 и k2.

Зависимость скорости падения от времени с учетом сопротивления воздуха

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

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

и далее не будет возрастать.

На основании данной модели можно, например, решать задачу оптимизации, сформулировав условие так: парашютист прыгает с некоторой высоты и летит, не открывая парашюта; на какой высоте (или через какое время) ему следует открыть парашют, чтобы иметь к моменту приземления безопасную скорость? Другая задача: как связана высота прыжка с площадью поперечного сечения парашюта (входящей в k2), чтобы скорость приземления была безопасной?

Существенной проблемой при использовании описанного численного метода является выбор величины шага по времени t. От этой величины зависит точность получаемых результатов, устойчивость вычислительной процедуры. Все эти проблемы исследуются в математической дисциплине, которая называется “Численные методы”, или “Вычислительная математика”.

Методические рекомендации

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

Полет снаряда, выпущенного из пушки

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

· движение тел с учетом сопротивления среды (свободное падение, движение тела, брошенного под углом к горизонту, взлет ракеты и др.);

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

· движение небесных тел (задача двух тел);

· движение заряженных частиц в электрических полях.

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

· моделирование процесса теплопроводности и др.;

· моделирование распределений статических — электрического и магнитного — полей.

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

Напомним ученикам, что ускорение есть приращение скорости за единицу времени, а скорость — приращение перемещения за единицу времени: .

Знаки приближенного равенства свидетельствуют о том, что эти соотношения тем точнее, чем меньше промежуток t; в пределе t 0 они становятся точными.

Если в некоторый момент времени t0 величина s имеет значение s(t0), а величина v — значение v(t0), то в последующий момент времени t1 = t0 + t будем иметь:

.

При этом предполагается, что ускорение в течение данного отрезка времени не изменялось и оставалось равным a(t0). Здесь также использованы обозначения F0 = F(t0), m = m(t0), т.е. имеется в виду, что сила и масса в общем случае могут быть переменными величинами.

При вычислениях значений v и s в последующие моменты времени можно поступать аналогично. Если известны значения vi и si в момент ti, то

Таким образом, получены те же самые формулы метода Эйлера, но методически иначе. При этом вообще не упоминаются дифференциальные уравнения.

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

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

Продолжение