Главная Рефераты по рекламе Рефераты по физике Рефераты по философии Рефераты по финансам Рефераты по химии Рефераты по хозяйственному праву Рефераты по цифровым устройствам Рефераты по экологическому праву Рефераты по экономико-математическому моделированию Рефераты по экономической географии Рефераты по экономической теории Рефераты по этике Рефераты по юриспруденции Рефераты по языковедению Рефераты по юридическим наукам Рефераты по истории Рефераты по компьютерным наукам Рефераты по медицинским наукам Рефераты по финансовым наукам Рефераты по управленческим наукам Психология и педагогика Промышленность производство Биология и химия Языкознание филология Издательское дело и полиграфия Рефераты по краеведению и этнографии Рефераты по религии и мифологии Рефераты по медицине Рефераты по сексологии Рефераты по информатике программированию Краткое содержание произведений |
Реферат: Изучение взаимно влияющих друг на друга математических параметровРеферат: Изучение взаимно влияющих друг на друга математических параметровГОСУДАРСТВЕННАЯ АКАДЕМИЯ СФЕРЫ БЫТА И УСЛУГ. ИНСТИТУТ ЭКОНОМИКИ И УПРАВЛЕНИЯ. КУРСОВАЯ РАБОТА. Тема:”Изучение взаимно влияющих друг на друга математических параметров”. Выполнена студентом Максименко Константином Викторовичем. Группа ИД-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 , DW и WS соответственно. W меняется при прибавлении DW ежемесячно и при вычитании WS ежегодно , в декабре. DW в свою очередь изменяется ежемесячно , уменьшаясь из-за мышей , а так- же увеличиваясь каждый год в августе , за счёт урожая. WS заново устанавливается также ежегодно , в декабре , самим пользовате- лем. Исключительным событием , прерывающим программу , для W считается его неположительное значение- хозяева хранилища не проживут без запасов зерна. Состояние мышиной популяции определяется более сложно. Начальное количество определяется случайным образом на интер- вале от 1 до 20 и обозначается символом M. Ежемесячное измене- ние количества мышей DМ , от которого зависит М , в свою оче- редь определяется естественным приростом. Он описан выше , а математически выглядит следующим образом : если W >= 2M , то DМ за данный месяц равно 1,5М. Если же W<2M , то DМ=0,1М. Кроме того , DМ меняется под воздействием естественной смерт- ности , составляющей ежемесячно 1/12 от М. Сильно влияет на по- пуляцию грызунов и количество кошек в зернохранилище. Чем больше мышей приходится на кошку , тем больше их и погибает. В формализованном виде это выглядит так : если М/С ( С-общее количество кошек и котов) больше 60 , то за месяц гибнет 40*С мышей. Если М/С меньше или равно данному соотношению , то ежемесячно уничтожается 15*С грызунов. Общее воздействие прироста , смертности и уничтожения мышей и определяет DМ. DМ , в свою очередь , корректирует М. Вершиной данной экологической пирамиды является популя- ция кошек и котов в хранилище. Её состояние прямо зависит от численности мышей. Численность кошек С определяется как внут- ренними параметрами- естественными смертностью и рождаемос- тью,- но и внешним- субъективной оценкой целесообразности со- держания данного числа мышеловов в хранилище , приводящей к покупке или продаже некоторого количества животных. И подчас решающим становится именно внешний , корректирующий равно- весие между мышами и кошками , субъективный параметр. При формализации характеристик популяции кошек нужно начать с определения минимально допустимого количества живущих в ам- баре кошек. Это параметр внешний для этой экогруппы и опреде- ляется он пользователем при оценке целесообразного размера ко- шачьего присутствия в хранилище. Здесь допустим и нулевой уро- вень , как наименее дешёвый. Но он же и наиболее рискованный , т.к. отсутствие кошек приведёт к всплеску численности мышей в амбаре. В математическом представлении он называется MNC. Далее начинают действовать естественные , внутренние парамет- ры , такие , как рождаемость и смертность кошек. Все эти парамет- ры составляют в суммарном воздействии Рождаемость зависит от количества мышей и в виде формул выглядит так : при M/C >60 DC=3C котят, при 20 < M/C < 40 DC=3 или 4 котёнка , при ещё меньшем – DС=0. Естественная смертность определяется общим количеством кошек. При С>=120 ежемесячно умирает С/120 ко- шек , а при меньших значениях С – одна кошка или ни одной.Рас- считать дополнительно необходимое количество мышеловов по- могает предельно допустимое количество мышей – MN. Если M > MN , то DС = DС + М/30 , а DS = DS – ( М/30 ) * РС , где DS - ежемесячное приращение годового дохода , а РС – цена одной кошки. Если же М<=MN , то DC= DC + ( МNС – С) и DS=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 < h THEN j = bw / 8 ELSE j = h / 12 PRINT "(Желательно не брать больше"; INT(j); " кг)" INPUT t INPUT "Цена одной кошки в $-"; pc INPUT "Минимально допустимое количество кошек"; mnc INPUT "Предельно допустимое количество мышей-"; mn 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. Именно эти данные при тестовом запуске выдала программа. Таким образом , программа действительно годится для прогнози- рования и изучения состояния системы взаимовлияющих матема- тических параметров. |
|
|