Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Порядок выполнения работы. Моделирование системы «хищник–добыча»
Моделирование системы «Хищник–добыча»
Постановка задачи Допустим, что на некоем острове неудержимо растет колония вредителей сельского хозяйства. Проблема уже настолько серьезна, что местные фермеры стали предпринимать серьезные меры для борьбы с вредителями. Они хотят ввезти на остров хищников, чтобы взять ситуацию под контроль. Требуется определить, сколько хищников необходимо завезти на остров, чтобы уничтожить всех вредителей. Это может быть система, например, «Фазаны–колорадский жук».
Выявление основных особенностей Существует модель Лотка–Вольтерра (Lotka–Volterra) – модель «Хищник–добыча», – которая представляет собой систему обыкновенных дифференциальных уравнений. Для моделирования работы системы «Хищник–добыча» необходимо выделить две части процесса: моделируемые как непрерывный и как дискретный процесс. Результаты моделирования представим в виде графика, в котором по оси абсцисс откладывается время моделирования системы, а по оси ординат – наличие хищников и добычи в каждый момент времени моделирования системы. Но перед этим необходимо выбрать единицу измерения времени.
Создание имитационной модели процесса Создание имитационной модели начнем с построения заголовка модели, который может быть представлен, например, в таком виде: ; GPSSW - Integrate.GPS ************************************ * Model Lotka-Volterra * ************************************ Модель будем формировать из трех секторов. В первом секторе выполним часть процесса, моделируемую как непрерывный процесс. В этой части представим систему дифференциальных уравнений и начальные исходные данные. Во втором секторе представим часть процесса, моделируемую как дискретный процесс. В третьем секторе представим правую часть системы обыкновенных дифференциальных уравнений с помощью внешних процедур встроенного в систему GPSSW языка программирования PLUS. Первый сектор модели включает систему обыкновенных дифференциальных уравнений, состоящую из двух уравнений первого порядка: Hishnik INTEGRATE (Hishnik_prirost()) Dobicha INTEGRATE (Dobicha_prirost()) Кроме того, вводятся начальные условия и необходимые исходные данные: Hishnik EQU 40 Dobicha EQU 600 K_ EQU 0.2000;. A_ EQU 0.0080;. B_ EQU 0.0002;. C_ EQU 0.0400; Обратите внимание, что поскольку в записи уравнений используются однобуквенные или двухбуквенные обозначения, то применяются обозначения со знаком подчеркивания. Этот знак следует всегда вставлять, чтобы введенные обозначения случайно не совпали со стандартными числовыми атрибутами, встроенными в систему и несущими определенную информацию. В скобках в правой части уравнений указан вызов процедур, представляющих собой правые части соответствующих уравнений системы, написанные на языке PLUS. Эти процедуры описываются в третьем секторе модели. Начальные условия и другая информация вводится с помощью оператора EQU. Второй сектор модели может быть представлен в таком виде: GENERATE 2000 TERMINATE 1 Третий сектор модели может быть представлен в таком виде: PROCEDURE Hishnik_prirost() BEGIN TEMPORARY Din_rojdeniy, Din_smerti, Din_prirosta; IF (Hishnik < 0) THEN Hishnik = 0; IF (Hishnik > 10e50) THEN Hishnik = 10e50; Din_rojdeniy = K_ # B_ # Hishnik # Dobicha; Din_smerti = A_ # Hishnik; Din_prirosta = Din_rojdeniy - Din_smerti; RETURN Din_prirosta; END; PROCEDURE Dobicha_prirost() BEGIN TEMPORARY Din_rojdeniy, Din_smerti, Din_prirosta; IF (Dobicha < 0) THEN Dobicha = 0; IF (Dobicha > 10e50) THEN Dobicha = 10e50; Din_rojdeniy = C_ # Dobicha; Din_smerti = B_ # Hishnik # Dobicha; Din_prirosta = Din_rojdeniy - Din_smerti; RETURN Din_prirosta; END; Представление имитационной модели Для представления имитационной модели выполните следующие действия: • щелкните по пункту File главного меню системы. Появится выпадающее меню; • щелкните по пункту New выпадающего меню. Появится диалоговое окно Новый документ; • выделите пункт Model и щелкните по кнопке ОК. Появится окно модели, в котором введите данную программу. Это фрагмент модели будет выглядеть так, как показано на рис. 3.41
Моделирование системы После создания имитационную модель необходимо оттранслировать и запустить на выполнение. Для этого: • щелкните по пункту Command главного меню системы или нажмите комбинацию клавиш Alt+C. Появится выпадающее меню; • щелкните по пункту Create Simulation (Создать выполняемую модель) выпадающего меню. Далее переходим к представлению искомого графика. Для этого: • щелкните по пункту Window главного меню системы или нажмите комбинацию клавиш Alt+W. Появится выпадающее меню; • щелкните по пункту Simulation Window (Окно моделирования) выпадающего меню. Появится всплывающее меню; • щелкните по пункту Plot Window (Окно графика) всплывающего меню. Появится диалоговое окно Edit Plot Window (Окно редактирования графика), в котором введите информацию, как показано на рис. 3.42. Поскольку мы хотим в графическом окне расположить два графика, то заполнение диалогового окна Edit Plot Window необходимо выполнить в два этапа. На
•первом этапе введите следующую информацию в текстовые поля, перемещаясь между ними с помощью клавиши Tab: • в поле Label (Метка), например, слово «Добыча»; • в поле Expression имя искомой переменной Dobicha; • в поле Title (Заголовок), например, такой текст: «Модель Хищник–добыча»; • в поле Time Range (Временная область) значение 1500; • в поле Min Value (Минимальная величина) оставим приведенное значение без изменений; • в поле Max Value (Максимальная величина) значение 1500. Щелкните по кнопкам Plot (График) и Memorise (Запомнить). Информация, введенная в первых двух текстовых полях, появится в двух ниже расположенных многострочных списках. Таким образом, мы указали всю необходимую информацию для вывода в графическом виде результатов моделирования, касающихся искомой переменной по имени Dobicha.
Вывод результатов в графическом виде Теперь мы укажем все необходимые данные для вывода в графическом виде результатов моделирования, касающихся искомой переменной по имени Hishnik. Для этого введите следующую информацию в текстовые поля, перемещаясь между ними с помощью клавиши Tab: в верхнем поле Label вместо слова «Добыча», например, «Хищник»; • в поле Expression вместо имени искомой переменной Dobicha имя другой искомой переменной Hishnik. Затем: • щелкните по кнопкам Plot и Memorize. Информация из первых двух текстовых полей добавится к ранее введенным данным в двух многострочных списках, расположенных ниже; • щелкните по кнопке OK. Появится окно PLOTS (Графики), показанное на рис. 3.43, с заготовкой (шаблоном) графика.
Если заготовка графика выглядит иначе, щелкните по горизонтальной полосе прокрутки графика слева от бегунка. Появится нужная заготовка. Теперь можно запустить систему на моделирование. Для этого: • щелкните по пункту Command главного меню системы или нажмите комбинацию клавиш Alt+C. Появится выпадающее меню; • щелкните по пункту START выпадающего меню. Появится диалоговое окно Start Command; • щелкните по кнопке OK. Система дифференциальных уравнений, приведенная в модели, решается методом Рунге–Кутта пятого порядка, – эта функция встроена в систему. После решения в окне PLOTS появится искомый график, который может выглядеть так, как показано на рис. 3.44.
Анализ полученных результатов Анализируя графические данные, можно отметить, что при заданных начальных значениях хищников и добычи соответственно 40 и 600 максимальное число хищников и добычи не превышает соответственно 600 и 1500. Давайте теперь определим, что будет, если начальное число хищников взять равным 100, а значение добычи оставить прежним. Чтобы увидеть результат решения: • в окне Model Window ведите значение хищников 100 вместо 40: Hishnik EQU 100 • закройте окно PLOTS, щелкнув по кнопке с изображением крестика в верхней правой части окна; • щелкните по пункту Command главного меню системы или нажмите комбинацию клавиш Alt+C. Появится выпадающее меню; • щелкните по пункту Retranslate (Перетранслировать модель) выпадающего меню; • щелкните по пункту Window главного меню системы или нажмите комбинацию клавиш Alt+W. Появится выпадающее меню; • щелкните по пункту Simulation Window (Окно моделирования) выпадающего меню. Появится всплывающее меню; • щелкните по пункту Plot Window (Окно графика) всплывающего меню. Появится диалоговое окно Edit Plot Window (Окно редактирования графика). Теперь можно установить параметры для графика, которые были запомнены в прошлый раз с помощью кнопки Memorize (Запомнить); • выберите в диалоговом окне Edit Plot Window в разделе Memorized Expressions (Запомненные выражения) строку с искомой переменной: Добыча Dobicha и щелкните по кнопке Plot; • выберите в этом же разделе другую строку с искомой переменной: Хищник Hishnik и щелкните по кнопке Plot введите в текстовом поле Time Range прежнее значение 1500; • введите в текстовом поле Max Value (Максимальная величина) прежнее значение, равное 1500. Для перехода к другому текстовому полю можно использовать мышь; • щелкните по пункту Command главного меню системы или нажмите комбинацию клавиш Alt+C. Появится выпадающее меню; • щелкните по пункту START выпадающего меню. Появится диалоговое окно Start Command; • щелкните по кнопке OK. Появится окно PLOTS с искомым графиком, который будет выглядеть так, как показано на рис. 3.45
Таким образом, при заданных начальных значениях хищников и добычи соответственно 100 и 600 максимальное число добычи и хищников не превысит соответственно 800 и 400. Можете поэкспериментировать и с другими значениями хищников
|