Читайте также:
|
|
Вначале приведём техт программы, с которой предстоит работать:
program tr198; label 4,6,7,9,11,12,13,14,16,18,20;
const M=4;N=5; p=-1; type z=array [1..M,1..N] of real;
const a:array [1..M] of real=(25,32,40,20);
b:array [1..N] of real=(17,21,41,14,24); s:z=((10,8,9,6,5),
(5,6,4,3,8),
(9,7,5,4,3),
(14,10,8,8,8));
var x,c:z; h:array [1..M+N,1..2] of integer;
i,j,k,r,g,q:integer; v,u,w:real;
begin for i:=1 to M do for j:=1 to N do c[i,j]:=s[i,j];
for j:=1 to N do begin v:=c[1,j];
for i:=2 to M do if p*(v-c[i,j])<0 then v:=c[i,j];
for i:=1 to M do c[i,j]:=p*(v-c[i,j]) end;
for i:=1 to M do begin v:=c[i,1];
for j:=2 to N do if v>c[i,j] then v:=c[i,j];if v<>0 then
for j:=1 to N do c[i,j]:=c[i,j]-v end;
for i:=1 to M do for j:=1 to N do begin x[i,j]:=0;
if (b[j]<>0)and(c[i,j]<=0) then
if a[i]<b[j] then x[i,j]:=a[i] else x[i,j]:=b[j];
a[i]:=a[i]-x[i,j];b[j]:=b[j]-x[i,j] end; goto 20;
4: for j:=1 to N do begin if b[j]<=0 then b[j]:=-1;
for i:=1 to M do if (c[i,j]<=0)and(x[i,j]<>0) then c[i,j]:=-1 end;
6:for i:=1 to M do begin if a[i]<>(-1) then for j:=1 to N do begin
if (b[j]=-1)or(c[i,j]>0) then goto 7; c[i,j]:=-2; if a[i]>0 then
begin r:=i;g:=j;goto 11 end; a[i]:=-1; for k:=1 to N do
if c[i,k]=-1 then begin c[i,k]:=-3;b[k]:=0 end;goto 9; 7:end end;
9:v:=1e6;for i:=1 to M do for j:=1 to N do
if (a[i]<>-1)and(b[j]<>-1) then if c[i,j]<v then v:=c[i,j];
for j:=1 to N do for i:=1 to M do
begin if (b[j]>=0)and(a[i]>=0) then c[i,j]:=c[i,j]-v;
if (b[j]=-1)and(a[i]=-1) then c[i,j]:=c[i,j]+v end; goto 6;
11: q:=1;v:=a[r];h[q,1]:=r;h[q,2]:=g; 12: for i:=1 to M do begin
if c[i,g]<>-3 then goto 13; if x[i,g]<v then v:=x[i,g];
r:=i;q:=q+1;h[q,1]:=r;h[q,2]:=g; goto 14; 13: end; goto 16;
14: for j:=1 to N do if c[r,j]=-2 then begin
g:=j;q:=q+1;h[q,1]:=r;h[q,2]:=g;goto 12 end;
16:if b[g]<v then v:=b[g];for k:=1 to q do begin r:=h[k,1];g:=h[k,2];
if (k mod 2)<>0 then x[r,g]:=x[r,g]+v
else x[r,g]:=x[r,g]-v end;
r:=h[1,1];g:=h[q,2]; a[r]:=a[r]-v;b[g]:=b[g]-v;
for i:=1 to M do begin
if a[i]>=0 then goto 18; a[i]:=0; for j:=1 to N do begin
if c[i,j]<0 then c[i,j]:=0; if b[j]<0 then b[j]:=0 end; 18:end;
20:u:=b[1];for j:=2 to N do u:=u+b[j]; v:=a[1];
for i:=2 to M do v:=v+a[i]; if (v>0)and(u>0) then goto 4;
write(' i\j | ');for j:=1 to N do write(j:7,' '); writeln('');
write('______|_');for j:=1 to (N+5)*(N-1) do write('_');
writeln('');writeln(' |');w:=0;
for i:=1 to M do begin write(i:4,' |'); for j:=1 to N do begin
w:=w+x[i,j]*s[i,j];write(x[i,j]:8:0) end;writeln('');end;
writeln(' w=',w:2:0); readln end.
Рис. 4. Программа решения транспортной задачи
Суть программы и принятые в ней обозначения даны в [1,2]. Рассмотрим на примерах, как следует с ней работать в интегрированной среде Турбо-Паскаль.
В системе Windows XP «Турбо-Паскаль» (ТР) можно открыть из списка рабочих программ или с рабочего стола, при этом на экране появляется поле языка с главным меню в верхней строке и клавишной заменой основных действий в нижней строке. Нажатием на кнопку F3 открывается поле с имеющимся программами. На экране можно набирать техт новой программы или редактировать программу, выбранную из списка. Новую программу можно сохранить, выбрав в главном меню из «File» «сохранить как» и указав имя программы в стрoке “Open”. Запуск на счёт осуществляется нажатием кнопок Ctrl+F9.
Решение задачи выводится экран. Чтобы его сохранить следует нажать “Enter”, при этом исходная программа переместится на передний план. Эту программу надо закрыть нажатием на кнопки Alt+X, при этом восстановится полученное решение. В решении с помощью мышки следует выделить нужную часть, а для её записи в буфер нажать Enter. После этого откройте страницу Word и в нужное место вставьте из буфера сохранённое в нём решение.
В системе Windows 7 надо открыть папку «Борланд-Паскаль» (ВР), затем из неё открывается папка “BIN”, которая содержит основные служебные и рабочие программы. Для запуска в работу системы Паскаль следует найти и щелкнуть на рабочий ярлык “TURBO.exe” или “BP.exe”. Дальше работа идёт так же, как и в предыдущем примере, до получения решения. Выделение решения производится иначе: Правой кнопкой мыши надо щелкнуть на верхней строке рамки решения – появится меню. Далее из меню выделить: «заменить» -> «пометить». После этого отметить нужную часть решения и нажать клавишу «Enter». Решение будет в буфере. Далее работа та же, что и в первом примере.
Заметим, что в каждом компьютере в зависимости от установки Паскаля могут возникнуть некоторые отличия от рассмотренных примеров.
Рекомендуемая литература
1. Осипов Л.А. Техническое обоснование проекта систем массового обслуживания: Учебное пособие. – М.: РОАТ МИИТ, 2011.(№198 на складе).
2. Осипов Л.А. Проектирование систем массового обслуживания: Монография. – М.: «Адвансед Солюшенз», 2011. (Может быть приобретена в Интернете «OZON.ru»).
3. Осипов Л.А., Левчук Т.В. Учебная практика: Электронное учебное пособие. – М.: РОАТ МИИТ, система «Космос», 2012.
Методы компьютерного моделирования
Под экономико-математическим моделированием мы будем понимать построение и изучение на базе современной вычислительной техники экономико-математической модели, способной заменить исследуемый экономический объект.
Моделью, называют некий объект, который способен в определенных условиях замещать собой исследуемую систему, воспроизводя при этом все интересующие исследователя свойства и характеристики оригинала. При этом модель должна быть более проста для исследования, чем исходная система.
Идеальное моделирование отличается от материального тем, что оно основано не на материализованной аналогии объекта и модели, а на аналогии идеальной, мыслимой и всегда носит теоретический характер.
Материальное моделирование — это моделирование, при котором исследование объекта выполняется с использованием его материального аналога, воспроизводящего основные физические, геометрические, динамические и функциональные характеристики данного объекта. К таким моделям, например, можно отнести использование макетов в архитектуре, моделей и экспериментальных образцов при создании различных транспортных средств.
Основными разновидностями материального моделирования являются натурное и аналоговое. При этом оба вида моделирования основаны на свойствах геометрического или физического подобия. Изучением условий подобия явлений занимается теория подобия (рис. 1.).
Рис. 1. Типы моделирования
Идеальное моделирование разделяют на два основных типа: интуитивное и научное.
Интуитивное моделирование — это моделирование, основанное на интуитивном (не обоснованном с позиций формальной логики) представлении об объекте исследования, который не поддается формализации или не нуждается в ней.
Научное моделирование — это всегда логически обоснованное моделирование, использующее минимальное число предположений, принятых в качестве гипотез на основании наблюдений за объектом моделирования.
Знаковым называют моделирование, использующее в качестве моделей знаковые изображения какого-либо вида: схемы, графики, чертежи, наборы символов, включающее также совокупность законов и правил, по которым можно оперировать с выбранными знаковыми образованиями и элементами. В качестве примеров таких моделей можно назвать любой язык, например: устного и письменного человеческого общения, алгоритмический, химических формул, живописи, нот для записи музыкальных произведений и т.д. Знаковая форма используется для передачи как научного, так и интуитивного знания. Моделирование с помощью математических соотношений также является примером знакового моделирования.
Аналоговое моделирование — это моделирование, основанное на аналогии процессов и явлений, имеющих различную физическую природу, но одинаково описываемых формально (одними и теми, же математическими соотношениями, логическими и структурными схемами). В основу аналогового моделирования положено совпадение математических описаний различных объектов.
При наблюдении за объектом-оригиналом формируется некий мысленный образ объекта, его идеальная модель, которую в научной литературе принято называть когнитивной. Формируя такую модель, исследователь, стремится ответить на конкретные вопросы, поэтому от бесконечно сложного устройства объекта отсекается все ненужное с целью получения его более компактного и лаконичного описания. Представление когнитивной модели на естественном языке называется содержательной моделью.
Концептуальной моделью принято называть содержательную модель, при формулировке которой используются понятия и представления предметных областей знания, занимающихся изучением объекта моделирования. В более широком смысле под концептуальной моделью понимают содержательную модель, базирующуюся на определенной концепции или точке зрения. Выделяют три вида концептуальных моделей: логико-семантические, структурно-функциональные и причинно-следственные.
Рис. 2. Взаимосвязь моделей
Формальная модель является представлением концептуальной модели с помощью одного или нескольких формальных языков (например, языков математических теорий, универсального языка моделирования (UML) или алгоритмических языков). Взаимовлияние уровней моделирования связано со свойством потенциальности моделей. Создание любой модели сопряжено с появлением новых знаний об исследуемом объекте, что ведет к переоценке и уточнению концепций и взглядов на объект моделирования.
Следует отметить, преимущества математического моделирования:
· экономичность (в частности, сбережение ресурсов реальной системы);
· возможность моделирования гипотетических, т.е. не реализованных в природе объектов (прежде всего на разных этапах проектирования);
· возможность реализации режимов, опасных или трудно воспроизводимых в натуре (критический режим ядерного реактора, работа системы противоракетной обороны);
· возможность изменения масштаба времени;
· простота многоаспектного анализа;
· большая прогностическая сила вследствие возможности выявления общих закономерностей;
· универсальность технического и программного обеспечения проводимой работы.
Бурное развитие методов математического моделирования и многообразие областей их использования привело к появлению огромного количества моделей самого разного типа. В связи с этим возникает необходимость в определенном упорядочивании, классификации существующих и появляющихся математических моделей. Учитывая большое число возможных классификационных признаков и субъективность их выбора, появление все новых классов моделей, следует отметить условность и незавершенность рассматриваемой ниже классификации.
Представляется возможным подразделить математические модели на различные классы в зависимости от:
· сложности объекта моделирования;
· оператора модели (подмодели);
· входных и выходных параметров:
· способа исследования модели;
· цели моделирования.
В качестве объекта моделирования может выступать как некоторое материальное тело или конструкция, так и природный, технологический или социальный процесс либо явление. Все объекты моделирования можно разделить на две группы: простые и объекты-системы (рис. 3).
Рис. 3. Классификация объектов моделирования
Модели объектов-систем, учитывающие свойства и поведение отдельных элементов, а также взаимосвязи между ними, называются структурными. Среди структурных динамических систем выделяют в отдельный подкласс имитационные системы, состоящие из конечного числа элементов, каждый из которых имеет конечное число состояний. Число связей между элементами также предполагается конечным. Моделирование взаимодействий элементов внутри системы осуществляется с помощью некоторого алгоритма, реализуемого обычно с использованием ЭВМ. Для моделирования на ЭВМ реального времени вводится понятие системного времени. В качестве моделей отдельных элементов могут быть использованы модели любого типа. Как правило, взаимодействие внешней среды со сложной системой полностью проследить не удается, что приводит к неопределенности внешних воздействий и, как следствие, неоднозначности в поведении самой системы. Наличие подобной неопределенности является характерной особенностью сложных систем.
Любая математическая модель может рассматриваться как некоторый оператор, который является алгоритмом, или определяется совокупностью уравнений — алгебраических, обыкновенных дифференциальных уравнений (ОДУ), систем ОДУ (СОДУ), дифференциальных уравнений в частных производных (ДУЧП), интегральных и дифференциальных уравнений (ИДУ) и др. (рис. 4).
Рис. 4. Классификация в зависимости от оператора модели
Исторически первыми стали разрабатываться и исследоваться линейные математические модели. Область применения подобных моделей очень широка. При этом, все чаше возникает потребность не только в повышении точности моделирования, но и в создании качественно новых моделей, учитывающих нелинейность поведения реальных объектов исследования. Анализ подобных моделей намного сложнее, чем линейных, причем разработка методики и общих подходов к исследованию, далеки от завершения. Являясь более богатым и сложным, мир нелинейных моделей представляется для современной науки более перспективным в плане открытия новых закономерностей и описания сложных явлений.
Количество параметров всех типов в математических моделях могут принадлежать любому бесконечномерному функциональному пространству. При этом каждый из параметров может иметь различную «математическую природу»: быть постоянной величиной или функцией, скаляром или вектором, четким или нечетким множеством и т.д. По своей природе характеристики объекта могут быть как качественными, так и количественными. Введение тех или иных количественных характеристик объекта моделирования возможно при наличии эталона сравнения. Для количественной характеристики вводятся числа, выражающие отношения между данным параметром и эталоном. Кроме того, количественные значения параметра могут выражаться дискретными или непрерывными величинами. Качественные характеристики находятся, например методом экспертных оценок. В зависимости от вида используемых множеств параметров модели могут подразделяться на качественные и количественные, дискретные и непрерывные, а также смешанные.
При построении моделей реальных объектов и явлений очень часто приходится сталкиваться с недостатком информации. Как правило, для любого исследуемого объекта распределение свойств, параметры воздействия и начальное состояние известны с той или иной степенью неопределенности. Это связано с множеством трудно учитываемых факторов, ограниченностью числа используемых параметров модели, конечной точностью экспериментальных измерений.
Рис. 5. Классификация математических моделей в зависимости от параметров
При построении модели возможны следующие варианты описания неопределенности параметров:
· детерминированное — значения всех параметров модели определяются детерминированными величинами (т.е. каждому параметру соответствует конкретное целое, вещественное или комплексное число либо соответствующая функция). Данный способ соответствует полной определенности параметров;
· стохастическое — значения всех или отдельных параметров модели определяются случайными величинами, заданными плотностями вероятности;
· случайное - значения всех или отдельных параметров модели устанавливаются случайными величинами, заданными оценками плотностей вероятности, полученными в результате обработки ограниченной экспериментальной выборки данных параметров. Эта форма описания тесно связана с предыдущей. Однако в рассматриваемом случае получаемые результаты моделирования будут существенным образом зависеть от точности оценок моментов и плотностей вероятности случайных параметров, от постулируемых законов распределения и объема выборок;
· интервальное — значения всех или отдельных параметров модели описываются интервальными величинами, заданными интервалом, образованным минимальным и максимально возможными значениями параметра;
· нечеткое - значения всех или отдельных параметров модели описываются функциями принадлежности соответствующему нечеткому множеству. Такая форма используется, когда информация о параметрах модели задается экспертом на естественном языке, а следовательно, в «нечетких» (с позиции математики) терминах типа «много больше пяти», «около нуля».
В теории игр встречается еще один вид неопределенности параметров модели, называемый игровой неопределенностью. Разделение моделей на одномерные, двухмерные и трехмерные применимо для таких моделей, в число параметров которых входят координаты пространства, и связано с особенностями реализации этих моделей, равно как и с резким увеличением, их сложности при возрастании размерности. Как правило, увеличение размерности модели приводит к росту числа используемых математических соотношений.
Из всей совокупности параметров при разработке различных моделей отдельно следует рассмотреть учет времени. Как и координаты, время относится к независимым переменным, от которых могут зависеть остальные параметры модели. В различных ситуациях объект исследования может по разному испытывать влияние времени. Обычно чем меньше масштаб объекта, тем существеннее зависимость его параметров от времени. Любой объект стремится перейти в некоторое равновесное состояние, как с окружающей его средой, так и между отдельными элементами самого объекта. Нарушение этого равновесия приводит к изменениям различных параметров объекта и его переходу в новое равновесное состояние. При построении модели важным является сравнение времени существенных изменений внешних воздействий и характерных времен перехода объекта в новое равновесное состояние с окружающей средой, а также времени релаксации, определяющего установление равновесия между отдельными элементами внутри объекта. Совокупность значений параметров модели в некоторый момент времени или на данной стадии называется состоянием объекта. Если скорости изменения внешних воздействий и параметров состояния изучаемого объекта достаточно велики, то учет времени необходим. В этом случае объект исследования рассматривают в рамках динамического процесса. Условие движения отдельных элементов исследуемого объекта не является обязательным условием включения времени в число параметров модели.
Заметим, что для значительной части реальных процессов стационарные режимы являются наиболее предпочтительными. После их определения проверяется устойчивость стационарного режима, что во многих случаях требует постановки и решения нестационарной задачи для возмущений стационарного решения. В ряде случаев, когда определение стационарных режимов из аналитического решения или некоторых эвристических соображений затруднено, их поиск осуществляется методом установления соответствующей нестационарной задачи. Следует отметить, что этим методом довольно часто пользуются при решении стационарных задач численными методами, поскольку методы решения нестационарных задач часто оказываются существенно эффективнее, чем стационарных.
Целью дескриптивных моделей является установление законов изменения параметров модели. В качестве примера такой модели можно привести модель движения материальной точки под действием приложенных сил, использующая второй закон Ньютона. Задавая положение и скорость точки в начальный момент времени (входные параметры), массу (собственный параметр) и закон изменения прикладываемых сил (внешние воздействия), можно определить скорость и координаты материальной точки в любой момент времени (выходные параметры). Полученная модель описывает зависимость выходных параметров от входных данных. Поэтому дескриптивные модели являются реализацией описательных и объяснительных содержательных моделей на формальном уровне моделирования.
Рис. 6. Классификация е зависимости от целей моделирования
Оптимизационные модели предназначены для определения оптимальных с точки зрения некоторого критерия параметров моделируемого объекта или же для поиска оптимального режима управления некоторым процессом. Часть параметров модели относят к параметрам управления, изменяя которые можно получать различные варианты наборов значений выходных параметров. Как правило, данные модели строятся с использованием одной или нескольких дескриптивных моделей и включают некоторый критерий, позволяющий сравнивать различные варианты наборов значений выходных параметров между собой с целью выбора наилучшего. На область значений входных параметров могут быть наложены ограничения в виде равенств и неравенств, связанные с особенностями рассматриваемого объекта или процесса. Целью оптимизационных моделей является поиск таких допустимых параметров управления, при которых критерий выбора достигает своего «наилучшего значения». Отметим, что для большинства реальных процессов, конструкций требуется определение оптимальных параметров сразу по нескольким критериям, т.е. мы имеем дело с так называемыми многокритериальными задачами оптимизации. При этом нередкими являются ситуации противоречивости критериев, для решения подобных задач используются специальные методы и алгоритмы. Методы формирования критериев оптимальности в зависимости от вида неопределенности рассматриваются в теории выбора и принятия решений, которая базируется на теории игр и исследовании операций.
Рис. 7. Классификация в зависимости от методов реализации
Управленческие модели применяются для принятия эффективных управленческих решений в различных областях целенаправленной деятельности человека. В общем случае принятие решений является процессом, по своей сложности сравнимым с процессом мышления в целом. Однако на практике под принятием решений обычно понимается выбор некоторых альтернатив из заданного их множества, а общий процесс принятия решений представляется как последовательность таких выборов альтернатив. Поскольку оптимальность принятого решения даже в одной и той же ситуации может пониматься по-разному, вид критерия оптимальности в управленческих моделях заранее не фиксируется. Именно в этом состоит основная особенность данных моделей.
Метод реализации модели относят к аналитическим, если он позволяет получить выходные параметры в виде аналитических выражений, т.е. выражений, в которых используется не более чем счетная совокупность арифметических операций и переходов к пределу. Частным случаем аналитических выражений являются алгебраические выражения, в которых используется конечное или счетное число арифметических операций, операций возведения в целочисленную степень и извлечения корня. Очень часто аналитическое решение для модели представляют в элементарных или специальных функциях: показательных, логарифмических, тригонометрических, гиперболических и т.п. Аналитические методы реализации модели являются более ценными в том плане, что позволяют с меньшими вычислительными затратами изучить свойства объекта моделирования, применяя традиционные хорошо развитые математические методы анализа аналитических функций. Существенно, что применение аналитических методов возможно без использования ЭВМ. Кроме того, знание аналитического выражения для искомых параметров позволяет исследовать фундаментальные свойства объекта, его качественное поведение, строить новые гипотезы о его внутренней структуре. Следует отметить, что возможности аналитических методов существенно зависят от уровня развития соответствующих разделов математики.
При численном подходе совокупность математических соотношений модели заменяется конечномерным аналогом. Это чаще всего достигается дискретизацией исходных соотношений, т.е. переходом от функций непрерывного аргумента к функциям дискретного аргумента. После дискретизации исходной задачи выполняется построение вычислительного алгоритма, т.е. последовательности арифметических и логических действий, выполняемых на ЭВМ и позволяющих за конечное число шагов получить решение дискретной задачи. Найденное решение дискретной задачи принимается за приближенное решение исходной математической задачи.
Степень приближения определяемых с помощью численного метода искомых параметров модели зависит как от погрешностей самого метода, связанных с заменой исходной модели ее дискретным аналогом, так и от ошибок округления, возникающих при выполнении любых расчетов на ЭВМ в связи с конечной точностью представления чисел в ее памяти. Основным требованием к вычислительному алгоритму является необходимость получения решения исходной задачи с заданной точностью за конечное число шагов.
Алгоритмические модели, использующие как численный, так и имитационный подход, не позволяют получить решения задач в аналитической форме, что затрудняет и усложняет процесс анализа результатов моделирования. Использование математической модели, построенной алгоритмическими методами, аналогично проведению экспериментов с реальным объектом, только вместо реального эксперимента с объектом проводится вычислительный эксперимент с его моделью. Задаваясь конкретным набором значений исходных параметров модели, в результате вычислительного эксперимента находим конкретный набор приближенных значений искомых параметров. Для исследования поведения объекта при новом наборе исходных данных необходимо проведение нового вычислительного эксперимента.
Дата добавления: 2014-12-19; просмотров: 65 | Поможем написать вашу работу | Нарушение авторских прав |