12151

Форма расчёта равномерного и гиперекспоненциального распределения

Лабораторная работа

Информатика, кибернетика и программирование

Отчет по лабораторной работе № 12 Равномерное распределение распределение характеризующееся тем что вероятность любого интервала зависит только от его длины. Равномерное распределение выбирается когда предполагается что все варианты прогнозируемого показ

Русский

2013-04-24

474 KB

9 чел.

Отчет

по лабораторной работе № 1,2

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

Говорят, что случайная величина имеет непрерывное равномерное распределение на отрезке [a,b], где , если её плотность fX(x) имеет вид:

Интегрируя определённую выше плотность, получаем функцию распределения вероятности:

Линейный конгруэнтный метод — один из алгоритмов генерации псевдослучайных чисел. Этот алгоритм заключается в итеративном применении следующей формулы:

,

где a > 0, c > 0, m > 0 — некоторые целочисленные константы. Получаемая последовательность зависит от выбора стартового числа X0 и при разных его значениях получаются различные последовательности случайных чисел.

Нормальное распределение зависит от двух параметров — смещения и масштаба.

Плотность вероятности случайной величины, распределённой по нормальному закону, выражается следующим соотношением:

,

где μ - коэффициент сдвига (вещественное число), σ - коэффициент масштаба (вещественный, строго положительный).

Функция распределения имеет следующий вид:

Для нормированного нормального распределения, график выглядит так

Треугольное распределение (распределение Симпсона)

Треугольное распределение представляет собой суррогат нормального и предполагает линейно нарастающее по мере приближения к моде распределение.

Cлучайная величина ξ имеет треугольное распределение (распределение Симпсона) на отрезке [a,b] (a < b), если

Экспоненциальное или показательное распределение

Экспоненциальное распределение с плотностью вероятности f(x)=λe-λx, где x≥0, λ – параметр распределения, связанный с математическим ожиданием и дисперсией выражениями   ,  

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

Случайная величина X имеет экспоненциальное распределение с параметром λ > 0, если её плотность имеет вид

.

Иногда семейство экспоненциальных распределений параметризуют обратным параметром 1 / λ:

.

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

Интегрируя плотность, получаем функцию экспоненциального распределения:

Особенностью экспоненциального распределения является то, что коэффициент вариации для этого распределения равен 1. Графики плотности f(x) и функции F(x) для экспоненциального закона, имеют вид:

Распределение Эрланга k-го порядка

где x≥0, k≥1 – целое число и λ связан с матожиданием выражением При k=1 распределение Эрланга преобразуется к экспоненциальному. Можно показать, что случайная величина, имеющая Эрланговское распределение, может рассматриваться как сумма k-случайных величин, имеющих экспоненциальное распределение с параметром λ. Эрланговское распределение при k>1 имеет  . Графики плотности и функции распределения для k=2, λ=1, представлены на рис.


Cлучайная величина ξ имеет треугольное распределение (распределение Симпсона) на отрезке [a,b] (a < b), если

Cлучайная величина ξ имеет гиперэкспоненциальное распределение с параметрами

(смесь экспоненциальных распределений), если

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

Форма расчёта гиперекспоненциального распределения.

Имеется r-малое предприятий каждое, из которых выпускает продукцию отличную друг от друга. Есть потребители, их m, они торгуют в розницу, ежедневно закупая товары с оптового склада. Потребитель может закупать несколько видов товара но не все, и они могут отказаться от покупок на какой то день. Задан спрос каждого потребителя. На складе к концу дня остается Сj единиц товара. Пусть l j это минимальный остаток j ого товара на конец дня. Если  то оптовый склад делает заказ предприятиям на производство Rj единиц товара, который к утру следующего дня будет изготовлен и доставлен на склад. Если , то заказа на производство не будет. И склад будет реализовывать не проданный товар. Таким образом, к следующему дню на оптовом складе находится некоторое кол-во bj товара и если, мы будем рассматривать процесс в нулевой точке, то . Необходимо построить модель данной системы и провести вычислительный эксперимент. Определить такие Rj и lj, которые обеспечивают 95% заявок потребителей

Переменные

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

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

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

  •   остаток j ого товара после удовлетворения всех заявок покупателей на текущий день

  •   заявки i-ого потребителя на j-й товар

  •   суммарные заявки всех потребителей на j-товар на текущий день

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

  •  А1- суммарная заявка потребителей на все виды товара с первого дня моделирования по текущий день

  •  S- текущий день моделирования

  •  G- период моделирования

  •  - кол-во j ого товара, которого не хватило для удовлетворения заявок потребителей на j-ый товар, начиная с 1-ого дня моделирования на текущий день
  •   общее число заявок потребителей на j –ый товар с первого дня моделирования по текущий день

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

  •  H- общее кол-во неудовлетворенных заявок потребителей за весь период моделирования

  •  L- доля всех не выполненных заявок потребителей к общему числу заявок за весь период моделирования.

Исходные данные:

r=10; m=5; G=20;

Заявки потребителей рассчитываются по формуле

q:=random(100)-50;

Минимальное число мест на складе под j  товар, при котором еще не требуется дополнительных закупок на предприятии  :40, 46, 60, 44, 52, 54, 65, 48, 51, 49.

Заказ оптового склада предприятиям на следующий день   рассчитывается по формуле:

for i:=0 to r-1 do

  begin

  if strtoint(stringgrid5.Cells[i,0])<strtoint(stringgrid8.Cells[i,0]) then stringgrid7.Cells[i,0]:=inttostr(strtoint(stringgrid8.Cells[i,0])-strtoint(stringgrid5.Cells[i,0])+random(30))

  else stringgrid7.Cells[i,0]:=inttostr(0);

  end;

Доля всех не выполненных заявок потребителей к общему числу заявок за весь период моделирования    L=0,15969

Код программы:

Генерация заявок на текущий день

procedure TForm1.Button1Click(Sender: TObject);

begin

for i:=1 to m do

for j:=1 to r do

Begin

q:=random(100)-50;

if q<0 then q:=0;

stringgrid1.Cells[j,i]:=inttostr(q);

end;

end;

Расчет текущего дня 

procedure TForm1.Button2Click(Sender: TObject);

begin

try

for i:=1 to r do

begin

q:=0;

  for j:=1 to m do

  q:=q+strtoint(stringgrid1.Cells[i,j]);

stringgrid2.Cells[i-1,0]:=inttostr(q);

end;

q:=0;

for i:=0 to r-1 do

q:=q+strtoint(stringgrid2.Cells[i,0]);

edit4.Text:=inttostr(q);

for i:=0 to r-1 do

stringgrid3.Cells[i,0]:=inttostr(strtoint(stringgrid3.Cells[i,0])+strtoint(stringgrid2.Cells[i,0]));

for i:=0 to r-1 do

stringgrid5.Cells[i,0]:=inttostr(strtoint(stringgrid4.Cells[i,0])-strtoint(stringgrid2.Cells[i,0]));

for i:=0 to r-1 do

if strtoint(stringgrid5.Cells[i,0])<0 then stringgrid6.Cells[i,0]:=inttostr(strtoint(stringgrid6.Cells[i,0])+abs(strtoint(stringgrid5.Cells[i,0])));

for i:=0 to r-1 do

  begin

  if strtoint(stringgrid5.Cells[i,0])<strtoint(stringgrid8.Cells[i,0]) then stringgrid7.Cells[i,0]:=inttostr(strtoint(stringgrid8.Cells[i,0])-strtoint(stringgrid5.Cells[i,0])+random(30))

  else stringgrid7.Cells[i,0]:=inttostr(0);

  end;

edit5.Text:=inttostr(strtoint(edit4.Text)+strtoint(edit5.Text));

for i:=0 to r-1 do

begin

if strtoint(stringgrid3.Cells[i,0])<>0 then w:=(strtoint(stringgrid6.Cells[i,0]))/(strtoint(stringgrid3.Cells[i,0]))

else w:=0;

stringgrid9.Cells[i,0]:=floattostrf(w,fffixed,2,4);

end;

q:=0;

for i:=0 to r-1 do

q:=q+strtoint(stringgrid6.Cells[i,0]);

edit6.Text:=inttostr(q);

w:=strtoint(edit6.Text)/strtoint(edit5.Text);

edit7.Text:=floattostr(w);

button2.Enabled:=false;

button3.Enabled:=true;

except showmessage('Проверьте корректность введенных данных');

end;

end;

Переход на следующий день

procedure TForm1.Button3Click(Sender: TObject);

begin

for i:=0 to r-1 do

 begin

 if (strtoint(stringgrid5.Cells[i,0])<0) then stringgrid4.Cells[i,0]:=stringgrid7.Cells[i,0];

 if (strtoint(stringgrid5.Cells[i,0])>=0) and (strtoint(stringgrid5.Cells[i,0])>strtoint(stringgrid8.Cells[i,0])) then stringgrid4.Cells[i,0]:=stringgrid5.Cells[i,0];

 if (strtoint(stringgrid5.Cells[i,0])>=0) and (strtoint(stringgrid5.Cells[i,0])<strtoint(stringgrid8.Cells[i,0])) then stringgrid4.Cells[i,0]:=inttostr(strtoint(stringgrid5.Cells[i,0])+strtoint(stringgrid7.Cells[i,0]));

 end;

button2.Enabled:=true;

button3.Enabled:=false;

edit8.Text:=inttostr(1+strtoint(edit8.Text));

end;

Переход на G дней

procedure TForm1.Button4Click(Sender: TObject);

begin

for i:=1 to strtoint(edit1.Text) do

  begin

  button1.Click;

  button2.Click;

  button3.Click;

  end;

button1.Click;

end;



Код программы:

Memo2.Lines.Add('Начало моделирования');

while flag0 do

begin

Memo2.Lines.Add(inttostr(Time)+':');

  {Проверка процессора 1 на наличие задач и "решение" задач}

 If p0[0]<>-1 then

 Begin

 inc(p0[1]);

 If p0[1] = ZTO[p0[0]] then

  begin

  Memo2.Lines.Add('>>Задание '+inttostr(p0[0]+1)+' >> Обработанно процессором №1');

  p0[0]:=-1;

  end;

 end;

   {Проверка процессора 2 на наличие задач и "решение" задач}

 If p1[0]<>-1 then

 Begin

 inc(p1[1]);

 If p1[1] = ZTO[p1[0]] then

  begin

  Memo2.Lines.Add('>>Задание '+inttostr(p1[0]+1)+' >> Обработанно процессором №2');

  p1[0]:=-1;

  end;

 end;

  {Обработка очереди}

 If ochered[0]<>-1 then

 begin

  if p0[0]=-1 then

   begin

    p0[0]:=ochered[0];

    p0[1]:=0;

    Memo2.Lines.Add('>>Задание '+inttostr(ochered[0]+1)+' >> Начало обработки процессором №1 (из очереди)');

    ochered[0]:=-1;

   end

   else

  if p1[0]=-1 then

   begin

    p1[0]:=ochered[0];

    p1[1]:=0;

    Memo2.Lines.Add('>>Задание '+inttostr(ochered[0]+1)+' >> Начало обработки процессором №2 (из очереди)');

    ochered[0]:=-1;

   end;

 end;

 If ochered[0]=-1 then

  If ochered[1]<>-1 then

   begin

   ochered[0]:=ochered[1];

   ochered[1]:=-1;

    If ochered[2]<>-1 then

     begin

     ochered[1]:=ochered[2];

     ochered[2]:=-1;

     end;

   end;

  {Начало цикла просмотра Задач поступивших во время Time, с

   целью распределения по процессорам или местам в очереди}

 For i:=0 to N-1 do

 begin

 if ZTP[i]=Time then

  Begin

  if p0[0]=-1 then

   begin

    p0[0]:=i;

    p0[1]:=0;

    Memo2.Lines.Add('>>Задание '+inttostr(i+1)+' >> Начало обработки процессором №1');

   end

   else

  if p1[0]=-1 then

   begin

    p1[0]:=i;

    p1[1]:=0;

    Memo2.Lines.Add('>>Задание '+inttostr(i+1)+' >> Начало обработки процессором №2');

   end

   else

  if ochered[0]=-1 then

   begin

    ochered[0]:=i;

    Memo2.Lines.Add('>>Задание '+inttostr(i+1)+' >> В очереди (место 1)');

   end

   else

  if ochered[1]=-1 then

   begin

    ochered[1]:=i;

    Memo2.Lines.Add('>>Задание '+inttostr(i+1)+' >> В очереди (место 2)');

   end

   else

  if ochered[2]=-1 then

   begin

    ochered[2]:=i;

    Memo2.Lines.Add('>>Задание '+inttostr(i+1)+' >> В очереди (место 3)');

   end

   else

   Memo2.Lines.Add('>>Задание '+inttostr(i+1)+' >> Не может быть обработанно!');

  end;

 end;

   {Конец цикла просмотра Задач поступивших во время Time, с

    целью распределения по процессорам и местам в очереди}

 inc(Time);

if (Time>strtoint(Edit3.Text)) and (p0[0]=-1)

and (p1[0]=-1) {and (ochered[0]=-1) and (ochered[1]=-1)

and (ochered[2]=-1)}then flag0:=false;

end;

Memo2.Lines.Add('Моделирование завершенно...');


Прибытие заявки

ачало обслуживания

После завершения

Запись время завершения обработки

Записать время прибытия заявки

Заняты ли ЦПУ?

Перевести процессор в состояние «свободно»

Память =  Память -1

Узнать очередное событие

Перевести процессор в состояние «занято»

Память = Память +1

Память = 0 ?

Да

Нет

Да

Нет


 

А также другие работы, которые могут Вас заинтересовать

83541. Режим морських портів 36.21 KB
  Прибережна держава самостійно вирішує питання про характер порту зокрема його закритість або відкритість для міжнародного судноплавства. Прибережна держава не повинна проте відмовляти у дозволі на вхід до закритого порту судну яке знаходиться в небезпеці у випадку аварії або штормової погоди судну що зазнає лихо. З метою забезпечення власної безпеки прибережна держава може. Прибережна держава зазвичай не втручається у відносини між капітаном екіпажем та пасажирами.
83542. Правовий режим архіпелажних вод 38.18 KB
  Суверенна влада прибережної держави обмежена правом безперешкодного проходу та правом архіпелажного проходу морськими коридорами що надається іноземним морським та повітряним суднам в архіпелажних водах ст. Архіпелажний прохід морськими коридорами означає що усі судна і літальні апарати користуються правом архіпелажного проходу такими морськими коридорами і прольоту по таким повітряним коридорам з ціллю безперервного і швидкого транзиту через архіпелажні води з однієї частини відкритого моря або виключної економічної зони до іншої частини...
83543. Поняття і межі територіального моря. Право мирного проходу. Правовий режим територіальних вод 37.22 KB
  Правовий режим територіальних вод Територіальне море це пояс морських вод шириною до 12 морських миль що розташований між берегом чи безпосередньо за внутрішніми морськими водами або архіпелажними водами держави та відкритим морем або водами спеціальних зон. Територіальне море як й внутрішні морські води є частиною території прибережної держави. На підставі цього права торгівельні судна можуть проходити через територіальне море іноземної держави без спеціального дозволу лише за умови дотримання права прибережної держави. Прохід...
83544. Поняття та правовий режим прилеглої зони 36.05 KB
  Сстановлює що прилегла зона не може пролягати далі ніж на 12 морських миль від вихідної лінії від якої відміряється ширина територіального моря проте Конвенція з морського права 1982 р. містить положення що прилегла зона не може пролягати за межі 24 морських миль від цієї лінії Розвитком інституту прилеглої зони стала практика встановлення прибережними державами за межами свого територіального морязон виключного рибальства. Ширина морських зон виключного рибальства в практиці держав різниться.
83545. Виключна економічна зона та її правовий режим 33.18 KB
  Ширина виключної економічної зони не повинна перевищувати 200 морських миль що відраховуються від вихідних ліній від яких відмірюється ширина територіального моря. Прибережна держава в межах виключної економічної зони має суверенні права на розвідку розробку і збереження природних ресурсів як живих так і неживих що знаходяться у її водах на морському дні або його надрах. Прибережна держава в межах своєї виключної економічної зони користується не тільки економічними повноваженнями але й юрисдикцією щодо створення і використання штучних...
83546. Континентальний шельф і його правовий режим. Межі континентального шельфу. Делімітація континентального шельфу 36.65 KB
  Межі континентального шельфу. Делімітація континентального шельфу Відповідно до Конвенції ООН з морського права 1982 р. Підводна околиця материка включає продовження континентального масиву прибережної держави що знаходиться під водоюі складається з поверхні і надр шельфу схилу і підйому. внутрішнім кордоном континентального шельфу є зовнішня межа територіального моря лінії на відстані 12 морських миль від вихідної лінії.
83547. Відкрите море І його правовий режим. Свободи відкритого моря 37.48 KB
  Свободи відкритого моря За зовнішньою межею територіального моря знаходяться простори морів і океанів які не входять до складу територіальних вод будьякої держави і утворюють відкрите море. відкрите море визначено як усі частини моря які не входять ані до територіального моря ані до внутрішніх вод будьякої держави. встановила що положення Частини VII Відкрите море застосовуються до всіх частин моряякі не входять ані до виключної економічної зони ані до територіальною моря або внутрішніх вод будьякої держави ані до архіпелажних...
83548. Правовий статус Міжнародного району морського дна. Використання ресурсів Міжнародного району морського дна. Міжнародний орган з морського дна 35.92 KB
  Використання ресурсів Міжнародного району морського дна. Міжнародний орган з морського дна Морське дно за межами континентального шельфу і економічної зони є територією з міжнародним режимом і утворює міжнародний район морського дна далі Район. 1 Конвенції ООН з морського права 1982 р.
83549. Поняття і види міжнародних проток. Правовий статус і режим міжнародних проток 36.7 KB
  Берега протоки можуть належати одній державі або двом чи більше державам. Якщо ширина протоки перевищує подвійну ширину територіального моря прибережної держави або держав на тій частини протоки що знаходиться поза межами територіального моря діє принцип свободи судноплавства. Якщо ж ширина протоки не є більшою ніж подвійна ширина територіального моря міжнародноправовий статус протоки є подібним до статусу територіального моря так звані територіальні протоки. Традиційно на підставі звичаєвої норми міжнародного морського права в водах...