Реферат: Изучение взаимно влияющих друг на друга математических параметров

ГОСУДАРСТВЕННАЯ АКАДЕМИЯ

СФЕРЫ БЫТА И УСЛУГ.

ИНСТИТУТЭКОНОМИКИ И УПРАВЛЕНИЯ.

КУРСОВАЯ РАБОТА.

Тема:”Изучениевзаимно влияющих друг на

друга математическихпараметров”.

Выполненастудентом

Максименко КонстантиномВикторовичем.

Группа ИД-1-1,

факультет ”Информационныесистемы

в экономике”.

Преподаватель:

Степанов Сергей Петрович.

Москва

1999

Планработы:

1.Постановка задачи-стр.

2.Формализация задачи-стр.

3.Блок-схема программы-стр.

4.Листинг программы-стр.

5.Тестирование программы-стр.

1.Постановка задачи.Очень часто при решении каких-либо задач на компьютере необ-

ходимо вычислять значения различных взаимозависимыхпереме-

нных. В частности, подобная задача может возникнутьпри обра-

ботке экономической, производственной информации,вообще

любых данных, определяемых взаимозависимымипроцессами.

Много подобных параметров в экономике.Для примераможно взять три основных рыночных показателя- спрос, предложение и

цену.В науке также немало взаимозависимых процессов.Именно поэтому столь большое значение будет иметь установление подоб-

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

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

          Поэтомув своей работе я решил исследовать данную область

компьютерных задач и понять механизм их решения впрограмм-

ном виде.

          Дляэтого я взял небольшую задачу по прогнозу состояния

некоторой экосистемы.

 Имеется зернохранилище сопределённым изначальным количе-

ством зерна. Туда каждый сентябрь складываетсяурожай пшени-

цы и ежемесячно забирается некоторое количествозерна. Какую-

то массу зерна в конце года необходимо продать.

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

туда пускают кошек, которые и должны уничтожатьмышей. Но

мыши не исчезают полностью, а между количествоммышей и ко-

шек через некоторое время устанавливаетсяравновесие. По задаче

требуется создать компьютерную модель данногоравновесия при

наименьшем количестве мышей и наименьшем количествекошек.

2.Формализациязадачи.

Прежде всего, придётся ввести ряд ограничений- ведьмодель и реальность- разные вещи. Основное ограничение- все процессы

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

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

дискретность.

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

если пшеница в хранилище кончается, то программаостанавлива-

ется.

          Каждаямышь съедает в месяц 2 кг зерна. Прирост их числа зависит от количества пшеницыв хранилище : если на мышь при-

ходитсяне менее двух кг зерна, то их популяция за месяц возрас-

таетв полтора раза. В противном случае прирост составит 10% в месяц. Естественнаясмерность мышей составляет 1/12 общего чи-

сламышей в месяц, т.к. мышь живёт в среднем 1 год. Количество

уничтожаемыхмышей определяется размером их популяции: ког-

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

мышейодин кот может поймать лишь 15 мышей в месяц. Полнос-

тьюистребить мышей нельзя, т.к. при нулевом уровне мышиной

популяциис окрестных полей в хранилище за месяц приходит до 20 мышей.

          Количество кошек также постоянноизменяется. При доста-

точномколичестве мышей, т.е. более 60 мышей на кошку, каж-

даякошка приносит в марте и в сентябре по 3 котёнка. Если мы-

шейменьше, чем по 20 на кошку, то прирост кошек равен нулю.

Еслиже значение мышиной популяции лежит между этими преде-

лами, то появляется всего 3-4 котёнка на всю кошачью популя-

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

1/120части от их общего числа, если их более 120; иначе за ме-

сяцможет умереть одна из кошек, то есть средняя продолжитель-

ностьжизни кошки составляет около 10 лет. В случае гибели всех

кошекхозяева хранилища пускают туда определённое количество

кошек.Особую роль в определении числа кошек в хранилище иг-

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

льнодопустимое количество кошек- ещё один важный параметр. Он определяет сколькокошек нужно помещать в хранилище в случае их полного отсутствия там. Разумеется, чем больше значе-

ниеданного параметра, тем больше затраты на их приобретение.

Правда, избыток кошек можно продать по установленной изнача-

льноцене.

          Собственно говоря, всевышеперечисленные действия нуж-

ныдля обеспечения максимальной сохранности урожая, а, следо-

вательнои для получения максимальной прибыли от продажи зер-

на.Цена на пшеницу определяется в начале каждого года. По ней в конце годапродаётся необходимое количество зерна, определяе-

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

вателя.

          Все процессы, описанные ранее,нуждаются в математичес-

койформализации. Для пшеницы значимы 3 параметра :общее ко-

личество пшеницы в хранилище, ежемесячное изменениемассы зерна и количество зерна, ежегодно выставляемое на продажу-

W, <span Times New Roman";mso-hansi-font-family:«Times New Roman»; mso-ansi-language:EN-US;mso-char-type:symbol;mso-symbol-font-family:Symbol">D

W и WSсоответственно. Wменяется при прибавлении <span Times New Roman";mso-hansi-font-family:«Times New Roman»; mso-ansi-language:EN-US;mso-char-type:symbol;mso-symbol-font-family:Symbol">DW ежемесячно и при вычитании WS ежегодно, в декабре. <span Times New Roman";mso-hansi-font-family:«Times New Roman»; mso-ansi-language:EN-US;mso-char-type:symbol;mso-symbol-font-family:Symbol">DW в свою очередь изменяется ежемесячно, уменьшаясь из-за мышей, а так-

жеувеличиваясь каждый год в августе, за счёт урожая. WSзаново

устанавливается также ежегодно, в декабре, самимпользовате-

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

Wсчитается егонеположительное значение- хозяева хранилища не проживут без запасов зерна.

          Состояниемышиной популяции определяется более сложно.

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

вале от 1 до 20 и обозначается символом M.Ежемесячное измене-

ние количества мышей <span Times New Roman";mso-hansi-font-family:«Times New Roman»; mso-ansi-language:EN-US;mso-char-type:symbol;mso-symbol-font-family:Symbol">D

М , откоторого зависит М, в свою оче- редь определяется естественным приростом. Онописан выше, а математически  выглядитследующим образом :если W >= 2M, то

<span Times New Roman";mso-hansi-font-family:«Times New Roman»; mso-ansi-language:EN-US;mso-char-type:symbol;mso-symbol-font-family:Symbol">D

М за данный месяц равно 1,5М. Если же W<2M, то <span Times New Roman";mso-hansi-font-family:«Times New Roman»; mso-ansi-language:EN-US;mso-char-type:symbol;mso-symbol-font-family:Symbol">DМ=0,1М.

Крометого, <span Times New Roman";mso-hansi-font-family: «Times New Roman»;mso-ansi-language:EN-US;mso-char-type:symbol;mso-symbol-font-family: Symbol">D

М меняется под воздействием естественной смерт-

ности, составляющей ежемесячно 1/12 от М. Сильно влияет на по-

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

Вформализованном виде это выглядит так: если М/С ( С-общее количество кошек и котов) больше60, то за месяц гибнет 40*С мышей. Если М/С меньше или равно данномусоотношению, то

ежемесячно уничтожается 15*С грызунов. Общее воздействиеприроста, смертности и уничтожения мышей и определяет <span Times New Roman";mso-hansi-font-family:«Times New Roman»; mso-ansi-language:EN-US;mso-char-type:symbol;mso-symbol-font-family:Symbol">D

М.

<span Times New Roman";mso-hansi-font-family:«Times New Roman»; mso-ansi-language:EN-US;mso-char-type:symbol;mso-symbol-font-family:Symbol">D

М, в свою очередь, корректирует М.

          Вершиной данной экологической пирамидыявляется популя-

циякошек и котов в хранилище. Её состояние прямо зависит от численности мышей.Численность кошек С определяется как внут-

реннимипараметрами- естественными смертностью и рождаемос-

тью,-но и внешним- субъективной оценкой целесообразности со-

держанияданного числа мышеловов в хранилище, приводящей к покупке или продаженекоторого количества животных. И подчас решающим становится именно внешний,корректирующий равно-

весиемежду мышами и кошками, субъективный параметр. При

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

барекошек. Это параметр внешний для этой экогруппы и опреде-

ляетсяон пользователем при оценке целесообразного размера ко-

шачьегоприсутствия в хранилище. Здесь допустим и нулевой уро-

вень, как наименее дешёвый. Но он же и наиболее рискованный ,

т.к.отсутствие кошек приведёт к всплеску численности мышей в амбаре. Вматематическом представлении он называется MNC.

Далее начинают действовать естественные, внутренниепарамет-

ры, такие, как рождаемость и смертность кошек. Всеэти парамет- ры составляют в суммарном воздействии Рождаемость зависит отколичества мышей и в виде формул выглядит так :при M/C >60 <span Times New Roman";mso-hansi-font-family: «Times New Roman»;mso-ansi-language:EN-US;mso-char-type:symbol;mso-symbol-font-family: Symbol">D

C=3C котят, при20 < M/C < 40 <span Times New Roman"; mso-hansi-font-family:«Times New Roman»;mso-ansi-language:EN-US;mso-char-type: symbol;mso-symbol-font-family:Symbol">DC=3 или 4котёнка, при ещё меньшем – <span Times New Roman"; mso-hansi-font-family:«Times New Roman»;mso-ansi-language:EN-US;mso-char-type: symbol;mso-symbol-font-family:Symbol">DС=0.Естественная смертность определяется общим количеством кошек. При С>=120 ежемесячно умирает С/120 ко-

шек, а при меньших значениях С – одна кошка или ниодной.Рас-

считать дополнительно необходимое количествомышеловов по-

могает предельно допустимое количество мышей – MN. Если

M> MN, то <span Times New Roman";mso-hansi-font-family:«Times New Roman»; mso-ansi-language:EN-US;mso-char-type:symbol;mso-symbol-font-family:Symbol">D

С =  <span Times New Roman"; mso-hansi-font-family:«Times New Roman»;mso-ansi-language:EN-US;mso-char-type: symbol;mso-symbol-font-family:Symbol">DС +М/30, а <span Times New Roman";mso-hansi-font-family: «Times New Roman»;mso-ansi-language:EN-US;mso-char-type:symbol;mso-symbol-font-family: Symbol">DS= <span Times New Roman";mso-hansi-font-family:«Times New Roman»; mso-ansi-language:EN-US;mso-char-type:symbol;mso-symbol-font-family:Symbol">DS – (М/30 ) * РС, где <span Times New Roman";mso-hansi-font-family: «Times New Roman»;mso-ansi-language:EN-US;mso-char-type:symbol;mso-symbol-font-family: Symbol">DS-

ежемесячное приращение годового дохода, а РС – ценаодной кошки. Если же М<=MN, то <span Times New Roman";mso-hansi-font-family:«Times New Roman»; mso-ansi-language:EN-US;mso-char-type:symbol;mso-symbol-font-family:Symbol">D

C= <span Times New Roman";mso-hansi-font-family:«Times New Roman»; mso-ansi-language:EN-US;mso-char-type:symbol;mso-symbol-font-family:Symbol">DC + ( МNС – С)  и

<span Times New Roman";mso-hansi-font-family:«Times New Roman»; mso-ansi-language:EN-US;mso-char-type:symbol;mso-symbol-font-family:Symbol">D

S=<span Times New Roman";mso-hansi-font-family: «Times New Roman»;mso-ansi-language:EN-US;mso-char-type:symbol;mso-symbol-font-family: Symbol">DS + PS * ( C – MNC ) , т.е. количество кошек выравнивается по MNCс помощью продажи илипокупки необходимого для это-

го числа кошек.

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

вия всех экологических групп в кокретном финансовомвыраже-

нии. Каждый декабрь программой выводится годовойбаланс по-

купки и продажи кошек, прибыль от реализации зерна, проводи-

мой в том же месяце, а также общий доход хозяевхранилища. Об-

новляется и сумма общих денежных средств. Такимобразом, сте-

пень оптимизациивзаимовлияния и взаимоопределения парамет-

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

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

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

нию экосистемы. Ну и, разумеется, можно будет брать эту прог-

рамму за основу для составления новых программ,решающих другие задачи с взаимовлияющими математическими параметра-

ми.

Далее я приведу список переменных, использованных впрограмме :

BY –годначала прогнозирования ,

Y– текущий год прогноза ,

F – долгосрочность прогноза,лет,

MT– текущий месяц прогноза

BW– начальный запас зерна ,

W — общее количество зерна в хранилище,

H – ежегодный урожай пшеницы ,

DW –ежемесячное изменение общеймассы зерна ,

J – рекомедуемая массаежемесячно забираемой из хранилища       пшеницы ,

DT –определяемоеколичество ежемесячно забираемого зерна в

зависимости от общей массы пшеницы ,

Т – реальное количество ежемесячно забираемойпшеницы ,

WS –масса зерна,продаваемого ежегодно ,

PW –ценапродаваемого килограмма зерна ,

MN– предельно допустимоеколичество мышей в хранилище ,

DM –ежемесячноеизменение популяции мышей ,

М – общая численность популяции мышей ,

MNC– минимально допустимоеколичество кошек ,

С – общее число кошек и котов в хранилище ,

DC– ежемесячное изменениепопуляции кошек и котов

РС – цена одной кошки ,

DS– ежемесячное изменениеденежных запасов ,

S– общий годовой доход ,

ST –общая суммаденежных средств, обновляющаяся ежегодно ,

I –переменная-счётчик,осуществляющая остановку выполнения

программы.

4.Листингпрограммы.

'IMITATION OF <WHEAT-MICE-CATS> ECOSYSTEM

DEFDBL G-H, S

CLS

INPUT «Год начала наблюдений-»; by

INPUT «Количество лет наблюдений-»; f

INPUT «Начальная масса пшеницы в кг-»; bw

INPUT «Урожай пшеницы в кг-»; h

PRINT «Сколько кг зерна в месяц забирать?»

IF bw / 8 ELSE j = h / 12

PRINT "(Желательно не брать больше";INT(j); " кг)"

INPUT t

INPUT «Цена одной кошки в $-»; pc

INPUT «Минимально допустимое количествокошек»; mnc

INPUT «Предельно допустимое количествомышей-»; mn

PRINT

PRINT "(Все данные приводятся на конец текущегомесяца)."

PRINT«YEAR=,MONTH=,WHEAT=,MICE=,CATS=,DWHEAT=,DMICE=,DCATS=»

PRINT "********************************************************"

st = 0: w = bw: m = INT(RND(1) * 20 + 1): y = 0: mt= 0: c = mnc

50 RANDOMIZE TIMER

mt = mt + 1

IF mt > 12 THEN s = 0 AND ws = 0

ds = 0

IF mt > 12 THEN y = y + 1

IF y > f THEN END

'ПРЕРЫВАНИЕ ПРОГРАММЫ

IF mt > 12 THEN PRINT"++++++++++++++++++++++++++++++++++++++++++++++++++++++"

IF mt > 12 THEN INPUT «Если введёте 999 топрограмма остановится-»; i

IF i = 999 THEN GOTO 3000

IF mt > 12 THEN mt = 1

IF mt = 1 THEN INPUT «Введите цену килограммапшеницы в $-»; pw

'МЕСЯЦ СБОРА УРОЖАЯ ИЛИ НЕТ

dw = 0

IF mt = 8 THEN dw = dw + h ELSE dw = dw + 0

'ЕСТЕСТВЕННАЯ СМЕРТНОСТЬ МЫШЕЙ

dm = 0

dm = dm — 1 * INT(m / 12)

'ОПРЕДЕЛЕНИЕ КОЛ-ВА ПШЕНИЦЫ ЗА ВЫЧЕТОМ СЪЕД. МЫШАМИ

dw = dw — 2 * INT(m)

IF w <= 0 THEN END

'СКОЛЬКО ПШЕНИЦЫ ЗАБИРАЕТСЯ В МЕСЯЦ

IF w > t THEN dt = t ELSE dt = w

dw = dw — dt

'КОЛИЧЕСТВО МЫШЕЙ, СЪЕДЕННЫХ ЗА МЕСЯЦ

SELECT CASE INT(m)

CASE IS > 60 * c

dm = dm — 40 * c

CASE IS <= 60 * c

dm = dm — 15 * c

CASE 0

dm = dm + 0

END SELECT

'ПО КОЛ-ВУ ЗЕРНА ОПРЕДЕЛЯЕТСЯ ПРИРОСТ МЫШЕЙ

IF m <= w / 2 THEN dm = dm + INT(1.5 * m) ELSE dm= dm + INT(m / 10)

'ОПРЕДЕЛЯЕТСЯ НОВОЕ КОЛ-ВО МЫШЕЙ

m = m + dm

'ЕСТЕСТВЕНАЯ СМЕРТНОСТЬ КОШЕК

dc = 0

IF c > 120 THEN dc = dc — СINT(c / 120) ELSE dc =dc — CINT(RND(1))

IF c < 0 THEN c = 0

'ПРИРОСТ КОЛИЧЕСТВА КОШЕК

SELECT CASE mt

CASE 3, 9

GOSUB 1000

END SELECT

'ПРОДАЖА КОШЕК ЗА НЕНУЖНОСТЬЮ

IF m > mn THEN GOTO 80

60 dc = dc — c + mnc

70 ds = ds + pc * (c — mnc): GOTO 85

80  dc = dc +INT(m 30)

ds = ds — INT(m 30) * pc

85 s = s + ds

c = c + dc

'В СЛУЧАЕ ГИБЕЛИ ВСЕХ МЫШЕЙ ПРИХОДИТ ГРУППА МЫШЕЙ СПОЛЯ

IF INT(m) <= 0 THEN m = INT(RND(1) * 20 + 1)

'ОПРЕДЕЛЕНИЕ КОЛИЧЕСТВА ПШЕНИЦЫ

w = w + dw

IF INT(w) < 0 THEN w = 0

IF INT(w) <= 0 THEN GOTO 3000

'ИНФОРМАЦИЯ, ВЫВОДИМАЯ НА ЭКРАН

PRINT «y=»; by + y; " ";

PRINT «mt=»; mt; " ";

PRINT «w=»; INT(w); " ";

PRINT «dw=»; INT(dw); " ";

PRINT «m=»; INT(m); " ";

PRINT «dm=»; INT(dm); " ";

PRINT «c=»; INT(c); " ";

PRINT «dc=»; INT(dc); " ";

PRINT «ds=»; ds

'СОБЫТИЯ ДЕКАБРЯ

IF mt = 12 THEN GOSUB 2500

GOTO 50

'ПРИРОСТ КОШЕК

1000 SELECT CASE INT(m)

CASE IS > 60 * c

dc = dc + 3 * c

CASE IS < 20

dc = dc + 0

CASE 0

dc = dc — .8 * c

CASE ELSE

dc = dc + СINT(RND(1)) + 3

END SELECT

RETURN

'СОБЫТИЯ ДЕКАБРЯ

2500 PRINT"*********************************************************"

'ОПРЕДЕЛЕНИЕ ГОДОВЫХ РАСХОДОВ НА КОШЕК

PRINT «Годовой доход от продажи кошек=»;INT(s); "$ "

'РЕАЛИЗАЦИЯ ЗЕРНА С УЧЁТОМ ГОДОВЫХ РАСХОДОВ

INPUT «Сколько кг пшеницы продать»; ws

'РАСЧЁТ ПРИБЫЛИ ОТ РЕАЛИЗАЦИИ ЗЕРНА И ИЗЛИШКА КОШЕК

dw = dw — ws

w = w + dw

ds = ws * pw

s = s + ds

st = st + s

'ГОДОВОЙ БАЛАНС

PRINT «Годовой доход с продажи зерна=»; pw* ws; "$ "

PRINT «Общий годовой доход=»; INT(s);"$"

PRINT «Общая накопленная сумма=»; INT(st);"$"

IF st < 0 THEN GOTO 3000

RETURN

3000 END

5.Тестированиепрограммы.

          В связи с тем, что программу протестироватьочень сложно из – за большого количества взаимозависмых параметров, при те-

стировании, я использую реакцию программы наисключительные

значения. За год начала прогнозирования я беру 1999г. Длитель-

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

чения переменных BW,H и T. Например, чтобы запасы зерна ис-

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

16000 кг, Hтакже равнялось 16 тоннам,а ежемесячно забиралось

2 тонны пшеницы ( т.е. Т = 2000 кг ).

И действительно программа нашла что, при  “содействии” мышей

примерно в 250 кг съеденной за год пшеницы и призатратах на кошек ещё в 20 кг проданной, запасы зерна закончились в марте

второго года прогнозирования.Разумеется, вред,наносимый мышами не учитывать невозможно, но и учесть трудно, т.к. приопределении изначального и переопределении нулевого уровня численности мышинойэкогруппы используется генератор псевдослучайных чисел и циклическая инициациягенератора – RND и RANDOMIZE соответственно. Ноприблизительно срок должен совпадать.Кроме того, зная данные за какой – либоме- сяц, можно по формулам подсчитать значения соответствующих параметров вследующем месяце. Допустим, что MNC=3, М в первом месяце прогноза = 27, а BW, H иTвзятыиз предыдущего примера. Предельно терпимое количество мышей я взял равным 5.

За месяц меняется только DM, а М остаётсяпостоянным.Поэтому

 в началемесяца DM = 0, M = 27. Далее рассчитывается естест- веннаяубыль мышей DM = DM – INT ( M/12 ), т.е. DM =                  = 0 – INT ( 27/12 ) = 0 – 2=  -2. Потом считается естественный прирост DM = DM + INT ( 1.5*M ) = -2 + INT ( 40.5 ) = -2 + 40 =

=  38. В последнюю очередь считается количествоуничтоженных

за месяц мышей : DM= DM – 15*C = 38 – 45 = — 7.

Именно эти данные при тестовом запуске выдалапрограмма.

Таким образом, программа действительно годится дляпрогнози-

рования и изучения состояниясистемы взаимовлияющих матема-

тическихпараметров.

еще рефераты
Еще работы по программированию, базе данных