Реферат: Имитационная модель интеллектуального агента в условиях конкуренции

Московский ГосударственныйУниверситет

Прикладной Биотехнологии

Кафедра «Компьютерные технологии исистемы»

Реферат:

«Имитационная модельинтеллектуального агента в условиях конкуренции»

Выполнила:

студентка АБС IV-3

Рогожкина Е.А.

Проверил:

д.т.н. проф.

Ивашкин Ю.А.

Москва

2004


Имитационная модельповедения интеллектуального агента в условиях конкуренции

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

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

·                  во-первых, речьидет о рыночной конкуренции, то есть о непосредственном взаимодействии фирм нарынке;

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

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

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

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

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

В экономическойлитературе принято разделять конкуренцию по ее методам на:

·       ценовую(конкуренцию на основе цены);

·       неценовую(конкуренцию на основе качества потребительной стоимости).

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

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

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

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

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

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

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

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

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

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

Основными методамиявляются:

1.     повышение качества продукции

2.     снижение цен («война цен»)

3.     реклама

4.     развитие до- и послепродажногообслуживания

5.     создание новых товаров и услуг сиспользованием достижений НТР и т.д.

Одной из традиционныхформ конкурентной борьбы, как уже было сказано, является манипулированиеценами, т.н. «война цен», используемая, в основном, для выталкивания с рынкаболее слабых соперников или проникновения на уже освоенный рынок.

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

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

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

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

Постановка задачи

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

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

Модель построена спомощью имитационной системы Simplex3.

QueryStock1 — накопитель предложений 1 фирмы

QueryStock2 — накопитель предложений 2 фирмы

QueryStock3 — накопитель предложений 3 фирмы

FirmStock — накопитель предложений всех фирм –конкурентов

ff — количество покупателей 1 фирмы

ff2 — количество покупателей 2 фирмы

ff3 — количество покупателей 3 фирмы

balances [1..3] — массив остатков товара

LOST_clients [1..3] — массив, элементы которого показывают есть лиу фирмы необслуженные клиенты

criterian [1..9] [1..100] — массив критериевпокупателей

demand [1..3] — массив, содержащий объемупущенных продаж по каждой фирме

EQUIPOISE — логическая переменная: EQUIPOISE = TRUE – на рынке установилось равновесие цен

Для каждого покупателягенерируются его требования к продукту и фирме, а именно, в базисном компонентеBuyer разыгрываются элементы двумерногомассива, строки которого являются критериями, а номер столбца соответствуетномеру покупателя.

#Вызов внешней с-функциидля формирования критериев покупателей

(tmp^):=fillClients(ARRAYcriterian,100);

#include<iostream>

#include<stdlib.h>

#include<math.h>

#include<stdio.h>

#include«sys_struct.h»

#include«sys_extern.h»

#include«rts_func.h»

#include«c_macros.h»

usingnamespace std;

// экспоненциальноераспределение

real exprasp(real m)

{

real r;

realexprasp_result;

do {

r=rand()%100;

r=r/100;

} while(!(r!=0));

exprasp_result=-m*log(r);

returnexprasp_result;

}

// нормальное распределение

realnrasp(real m,real stddev)

{

realr1,r2,radsqr;

realnrasp_result;

do {

r1=rand()%100;

r2=rand()%100;

r1=2*r1/100-1;

r2=2*r2/100-1;

radsqr=r1*r1+r2*r2;

} while(!((radsqr>0) && (radsqr<1)));

nrasp_result=r1*sqrt(-2*log(radsqr)/radsqr)*stddev+m;

returnnrasp_result;

}

voidfillClients(array a,integ r,integ *tmp)

{

int i,j;

srand(1);

for(j=1;j<=r;j++) {

InPara2(a,real,1,j)= rand()%200 + 10;

InPara2(a,real,2,j)= rand()%40 + 30;

InPara2(a,real,3,j)= rand()%2;

InPara2(a,real,4,j)= nrasp(25,5);

InPara2(a,real,5,j)= exprasp(50);

InPara2(a,real,6,j)= rand()&2+1;

InPara2(a,real,7,j)= nrasp(2.5,0.5);

InPara2(a,real,8,j)= exprasp(200);

InPara2(a,real,9,j)= nrasp(0.5,0.5);

}

}

BASICCOMPONENT buyer

MOBILESUBCOMPONENT OF CLASS query

LOCALDEFINITIONS

C_PROCEDUREfillClients (ARRAY[n][s] REAL,INTEGER --> INTEGER)

DECLARATION OFELEMENTS

STATEVARIABLES

ARRAY[9][100]criterion (REAL):=0,

TNext(INTEGER):=0,

tmp(INTEGER):=0

DYNAMICBEHAVIOUR

ON START DO

(tmp^):=fillClients(ARRAYcriterion,100);

DISPLAY("BUYERS ADDED.\n");

END

WHENEVERT>=TNext DO

IF TNext>47DO

(tmp^):=fillClients(ARRAYcriterion,100);

DISPLAY("NEW BUYERS ADDED.\n");

END

TNext^:=TNext+1;

END

END OF buyer

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

BASICCOMPONENT Firm

MOBILESUBCOMPONENT OF CLASS query

DECLARATION OFSUBFUNCTION

strategy(INTEGER:past_buy2,LOCATIONFOR query:Stock,

ARRAY [l]LOGICAL:LOST_c,ARRAY [l] REAL:bal,INTEGER:ff1,

INTEGER:I,INTEGER:g,ARRAY[n]REAL:param1,INTEGER:cash,

ARRAY[l]REAL:dem-->ARRAY[n] REAL,INTEGER),

form(ARRAY [n]REAL:PP-->ARRAY [n] REAL)

DECLARATION OFELEMENTS

STATEVARIABLES

ARRAY[2] past_buyers(INTEGER):=0, # количество клиентов за прошлыйпериод

ARRAY[9]parameters1(REAL):=0,# массив параметров фирмы

ARRAY[9]p1(REAL):=0,

TNext(INTEGER):=0,

count(INTEGER):=1,

past_b(INTEGER):=0,

past_b2(INTEGER):=0,

invest(INTEGER):=0 # количество свободных денежных средств

SENSOR VARIABLES

ff(INTEGER), # количество покупателей за текущий период

ARRAY[3]balances(REAL), # остатки

ARRAY[3]LOST_cl(LOGICAL), # наличие необслуженных клиентов

ARRAY[9]parameters2(REAL),

ARRAY[9]parameters3(REAL),

firm_leader(INTEGER),

g(INTEGER),

ARRAY[3]demand(REAL) # недостающий объем

RANDOMVARIABLES

PRI(REAL):UNIFORM(LowLimit:=200,UpLimit:=400),# цена

QUAN(INTEGER):IUNIFORM(LowLimit:=100,UpLimit:=200),# объем выпуска

SAL(REAL):UNIFORM(LowLimit:=0,UpLimit:=1),# скидки

ADV(REAL):UNIFORM(LowLimit:=15,UpLimit:=35),# реклама

QUAL(REAL):EXPO(Mean:=50),# качество

ASSORT(INTEGER):IUNIFORM(LowLimit:=1,UpLimit:=3),# товарный ассортимент

TRU(INTEGER):IUNIFORM(LowLimit:=2,UpLimit:=5),# доверие

REMOT(REAL):EXPO(Mean:=150),# удаленность

DELIV(INTEGER):IUNIFORM(LowLimit:=1,UpLimit:=3),# доставка

Inv(INTEGER):IUNIFORM(LowLimit:=1,UpLimit:=4)# денежные поступления извне

TRANSITIONSINDICATORS

print,

ffm,

ffm2,

ffm3

LOCATION

QueryStock1(query):=0 query,# накопитель, содержащий параметры предложения

F1Stock(query):=0query # накопитель, содержащий параметрыпредложения фирм- конкурентов

SENSORLOCATION

FStock(query)

DYNAMICBEHAVIOUR

ON START DO

parameters1[1]^:=PRI;

parameters1[2]^:=QUAN;

parameters1[4]^:=ADV;

parameters1[5]^:=QUAL;

parameters1[6]^:=1;

parameters1[7]^:=TRU;

parameters1[8]^:=REMOT;

parameters1[9]^:=DELIV;

SIGNAL ffm;

END

WHENEVERT>=TNext

DO IF(NUMBER(FStock)<>0) DO

SIGNAL ffm3;

(ARRAYp1^,past_b^):=strategy(past_b2,LOCATION FStock,ARRAY LOST_cl,

ARRAYbalances,ff,1,g,ARRAY parameters1,invest,ARRAY demand);

SIGNAL ffm2;

END

SIGNAL ffm;

TNext^:=TNext+1;

END

ON ffm DO

QueryStock1^:ADD 1 NEW query

CHANGING

(ARRAYQB^):=form(ARRAY parameters1);

END

END

ON ffm2 DO

(ARRAYparameters1^):=form(ARRAY p1);

END

ON ffm3 DO

past_b2^:=past_b;

invest^:=Inv;

END

END OF Firm

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

FUNCTIONFChoice

MOBILESUBCOMPONENT OF CLASS query

DECLARATION OFELEMENTS

INPUTPARAMETERS

FStock(LOCATIONFOR query),

ARRAY[n][s]CRITER(REAL),#покупатель

ARRAY [l]Dummy(REAL),

g(INTEGER)

OUTPUT PARAMETERS

ARRAY[l]balance(REAL),#остаток на складе

f(INTEGER), #количествопокупателей фирмы 1

f2(INTEGER), #количествопокупателей фирмы 2

f3(INTEGER), #количествопокупателей фирмы 3

ARRAY[n][l]copy_param(REAL),

ARRAY[l]LOST_clients(LOGICAL),

leader(INTEGER),

ARRAY[l]dem(REAL)

LOCALVARIABLES

ss(INTEGER):=100,

k(REAL):=0, #количество совпадающих параметров

rem(REAL):=0,

maxim(REAL):=0,

imaxim(INTEGER):=0,

JMAX(INTEGER):=0,

ARRAY[l][s]QuBu(REAL):=0,#массив совпадений

ARRAY[l][s]QuanBuy(INTEGER),#массив распределения покупателей

ARRAY[l]clients(INTEGER),

max_cl(INTEGER)

BEGIN

FOR W FROM 1TO 9

REPEAT

FOR I FROM 1TO g

REPEAT

copy_param[W][I]:=FStock:query[I].QB[W];

balance[I]:=FStock:query[I].QB[2];

END_LOOP

END_LOOP

#Процесс сравнениякритериев покупателей с параметрами продавцов

FOR J FROM 1TO g

REPEAT

FOR I FROM 1TO ss

REPEAT

k:=0;

FOR R FROM 1TO 9

REPEAT

IF R<>2DO

# Для удовлетворенияпокупателя параметр продавца не должен отклоняться более чем на 20% от требованияпокупателя.

IF(FStock:query[J].QB[R]<=CRITER[R][I]+CRITER[R][I]*0.2) AND

(FStock:query[J].QB[R]>=CRITER[R][I]-CRITER[R][I]*0.2)

DO

k:=k+1/9;# степень удовлетворенности покупателя

END

END

END_LOOP

QuBu[J][I]:=k;

END_LOOP

END_LOOP

# Выбор покупателемнаиболее подходящей фирмы

FOR I FROM 1TO ss

REPEAT

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

IF(QuBu[1][I]=QuBu[2][I]) AND (QuBu[1][I]=QuBu[3][I])

AND(QuBu[1][I]<>0)

DO LOOP<ch>

FOR J FROM 1TO g

REPEAT

# подсчет остатков ивыявление упущенных клиентов

IFbalance[J]>=CRITER[2][I] DO

balance[J]:=balance[J]-CRITER[2][I];

QuanBuy[J][I]:=1;

LOST_clients[J]:=FALSE;

EXIT<ch>;

END

END_LOOP<ch>

END

ELSIF(QuBu[1][I]<>QuBu[2][I]) OR (QuBu[1][I]<>QuBu[3][I])

DO

maxim:=0;

FOR J FROM 1TO g

REPEAT

IFQuBu[J][I]>maxim DO

maxim:=QuBu[J][I];

imaxim:=J;

JMAX:=I;

END

END_LOOP

Подсчет остатков и объемаупущенных продаж

IFbalance[imaxim]>=CRITER[2][I] DO

balance[imaxim]:=balance[imaxim]-CRITER[2][I];

QuanBuy[imaxim][JMAX]:=1;

LOST_clients[imaxim]:=FALSE;

END

ELSIFbalance[imaxim]<CRITER[2][I] DO

DISPLAY(«Товара НЕТна %d !!!\n»,imaxim);

LOST_clients[imaxim]:=TRUE;

dem[imaxim]:=dem[imaxim]+CRITER[2][I];

END

END

END_LOOP

FOR J FROM 1TO ss

REPEAT

f := f + QuanBuy[1][J];# подсчет количества покупателей 1фирмы

END_LOOP

FOR J FROM 1TO ss

REPEAT

f2 := f2 + QuanBuy[2][J];# подсчет количества покупателей 2фирмы

END_LOOP

FOR J FROM 1TO ss

REPEAT

f3 := f3 + QuanBuy[3][J];# подсчет количества покупателей 3фирмы

END_LOOP

clients[1]:=f;

clients[2]:=f2;

clients[3]:=f3;

#Выявление фирмы-лидера

max_cl:=0;

FOR I FROM 1TO g

REPEAT

IFclients[I]>max_cl

DO

max_cl:=clients[I];

leader:=I;

END

END_LOOP

RETURN

END OF FChoice

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


HIGH LEVELCOMPONENT Market_HIGH

SUBCOMPONENTS

Firm,

Firm2,

Firm3,

buyer,

Market

COMPONENTCONNECTION

Firm.QueryStock1-->Market.QStock1;

Firm2.QueryStock2-->Market.QStock2;

Firm3.QueryStock3-->Market.QStock3;

buyer.criterion{iOF 1..9}{j OF 1..100}-->Market.criterion[i][j]; массив критериев покупателей

Firm.parameters1{iOF 1..9}-->Firm3.parameters1[i]; параметры 1 фирмы в 3-ю

Firm2.parameters2{iOF 1..9}-->Firm3.parameters2[i]; параметры 2 фирмы в 3-ю

Market.g-->Firm.g;

Market.g-->Firm2.g;

Market.g-->Firm3.g;

# Количество покупателей

Market.ff-->Firm.ff;

Market.ff2-->Firm2.ff2;

Market.ff3-->Firm3.ff3;

# Остатки на складах

Market.balances[1]-->Firm.balances[1];

Market.balances[2]-->Firm2.balances[2];

Market.balances[3]-->Firm3.balances[3];

# Необслуженные клиенты

Market.LOST_clients[1]-->Firm.LOST_cl[1];

Market.LOST_clients[2]-->Firm2.LOST_cl[2];

Market.LOST_clients[3]-->Firm3.LOST_cl[3];

# Фирма — лидер

Market.firm_leader-->Firm.firm_leader;

Market.firm_leader-->Firm2.firm_leader;

Market.firm_leader-->Firm3.firm_leader;

# Массив, содержащийобъем упущенных продаж по каждой фирме

Market.demand[1]-->Firm.demand[1];

Market.demand[2]-->Firm2.demand[2];

Market.demand[3]-->Firm3.demand[3];

Market.EQUIPOISE-->Firm3.EQUIPOISE;

END OF Market_HIGH

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

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

Каждая фирма считаетнедостающий объем выпуска и в событии 2 при наличии необслуженныхклиентов, увеличивает выпуск на недостающую величину.

Событие 3. Если остаток фирмы больше 1/3 всеговыпущенного объема, то олигополист вводит скидки для распродажи и уменьшаетвыпускаемый объем на 2%.

Далее, исходя изизменений спроса, олигополист варьирует неценовые факторы (событие 4).Если в текущем периоде увеличивается количество покупателей по сравнению спрошлым периодом, то фирма увеличивает предлагаемый товар на 10 ед. Если жеспрос снижается, то фирма предпринимает действия в соответствии с количествомимеющихся свободных денежных средств (переменная cash). При величине cash = 1, соответствующей большой сумме денежныхпоступлений, олигополист разрабатывает новый продукт и увеличивает свойтоварный ассортимент. Дальнейшие изменения переменной cash означают уменьшение денежных средств. При cash = 2 олигополист улучшает качествоимеющегося товара, тем самым улучшая свой имидж и увеличивая доверие клиентов.При cash = 3 улучшается реклама. При cash = 4 – доставка.

Данный алгоритм впрограмме реализован следующим образом.

FUNCTIONstrategy

MOBILESUBCOMPONENT OF CLASS query

LOCALDEFINITIONS

DECLARATION OFSUBFUNCTION

form(ARRAY[n]REAL:PP-->ARRAY[n]REAL)

DECLARATION OFELEMENTS

INPUTPARAMETERS

past_buy2(INTEGER),#j=2 l=3 n=9

Stock(LOCATIONFOR query),

ARRAY[l]LOST_c(LOGICAL),

ARRAY[l]bal(REAL),

ff1(INTEGER),

I(INTEGER), #номер фирмы

g(INTEGER),

ARRAY[n]param1(REAL),

cash(INTEGER),

ARRAY[l]dem(REAL)

OUTPUTPARAMETERS

ARRAY[n]par(REAL),

past_buy(INTEGER)

LOCALVARIABLES

average_price(REAL):=0,

cash1(INTEGER):=0

BEGIN

(ARRAYpar):=form(ARRAY param1);

#Событие 1

FOR J FROM 1TO g

REPEAT

average_price:=average_price+Stock:query[J].QB[1];

END_LOOP

average_price:=average_price/g;

DISPLAY(«сред цена%3.2f\n»,average_price);

IFpar[1]>average_price

DO

par[1]:=par[1]-par[1]*0.01;

END

ELSIFpar[1]<average_price

DO

par[1]:=par[1]+par[1]*0.01;

END

#Событие 2

IF LOST_c[I]

DO

par[2]:=par[2]+dem[I];

END

ELSIFLOST_c[I]=FALSE

DO

par[2]:=par[2];

END

#Событие 3

IFbal[I]>par[2]/3

DO

par[3]:=par[3]+1;

par[2]:=par[2]-par[2]*0.02;

END

#Событие 4

IFff1>past_buy2

DO

par[2]:=par[2]+10;

END

ELSIFff1<=past_buy2

DO

IF cash=1

DO

par[6]:=par[6]+1;

END

ELSIF cash=2

DO

par[5]:=par[5]+5;

IF(par[5]>230) AND (par[7]<6)

DO

par[7]:=par[7]+1;

END

END

ELSIF cash=3

DO

par[4]:=par[4]+5;

END

ELSIF (cash=4)AND (par[9]<3)

DO

par[9]:=par[9]+1;

END

END

past_buy:=ff1;

RETURN

END OF strategy

Результаты

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

/>

Рис. 1 — Процессустановления средней цены


/>

Рис. 2 — Доля рынкакаждой фирмы

На графике представленоколичество покупателей каждой фирмы. Синяя линия соответствует первой фирме (Firm), красная – второй (Firm2), а зеленая – третьей (Firm3). Очевидно, что некоторая долярынка перейдет к новичку. Модель показала, какой эта доля будет и статус,который займет новая фирма – олигополист.

На рис. 3 отраженаконкурентная борьба, происходящая между олигополистами.

/>

Рис. 3 — Объем выпускакаждой фирмы – олигополиста


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

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

/>

Рис. 4 — Изменение спросана товар 1 фирмы

/>

Рис. 5 — Изменение спросана товар 2 фирмы


/>

Рис. 6 — Изменение спросана товар 3 фирмы

еще рефераты
Еще работы по экономико-математическому моделированию