33
INVESTIGACIÓ OPERATIVA ESTOCÀSTICA: Introducció a la Simulació FACULTAT DE MATEMÀTIQUES I ESTADÍSTICA DIPLOMATURA D’ESTADÍSTICA APUNTS DE LES CLASSES DE TEORIA Esteve Codina Sancho Lídia Montero Mercadé Departament Estadística i Investigació Operativa Febrer del 2.001

INVESTIGACIÓ OPERATIVA ESTOCÀSTICA: Introducció a la …lmontero/lmm_tm/TrSioe.pdf · emprar-se per exemple pel càlcul d’integrals definides. • Models de simulació dinàmics:

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: INVESTIGACIÓ OPERATIVA ESTOCÀSTICA: Introducció a la …lmontero/lmm_tm/TrSioe.pdf · emprar-se per exemple pel càlcul d’integrals definides. • Models de simulació dinàmics:

INVESTIGACIÓ OPERATIVA

ESTOCÀSTICA:

Introducció a la Simulació

FACULTAT DE MATEMÀTIQUES I ESTADÍSTICA

DIPLOMATURA D’ESTADÍSTICA

APUNTS DE LES CLASSES DE TEORIA

Esteve Codina SanchoLídia Montero Mercadé

Departament Estadística i Investigació Operativa

Febrer del 2.001

Page 2: INVESTIGACIÓ OPERATIVA ESTOCÀSTICA: Introducció a la …lmontero/lmm_tm/TrSioe.pdf · emprar-se per exemple pel càlcul d’integrals definides. • Models de simulació dinàmics:

DIPLOMATURA D’ESTADÍSTICA IOEIntroducció a la Simulació i Generació de Nombres Aleatoris

Prof. Esteve Codina & Lídia Montero Pàg. 2

TAULA DE CONTINGUTS

1. INTRODUCCIÓ A LA SIMULACIÓ _________________________________________________ 3

1.1 CONCEPTES BÀSICS______________________________________________________________ 61.2 SIMULACIÓ DE MONTE CARLO ____________________________________________________ 81.3 SIMULACIÓ DE SUCCESSOS DISCRETS ______________________________________________ 91.3.1 EXEMPLE DE SIMULACIÓ DE SUCCESSOS DISCRETS: SISTEMA D’ESPERA X/Y/S ____________ 101.3.1.1 Algorisme de simulació discreta per la cua X/Y/s: ________________________________ 141.3.1.2 Traça de la Simulació ______________________________________________________ 151.3.1.3 Recollida d’estadístiques____________________________________________________ 161.4 GENERACIÓ DE NÚMEROS ALEATORIS ____________________________________________ 171.4.1 TÈCNIQUES PER LA GENERACIÓ DE NÚMEROS ALEATORIS____________________________ 171.4.2 GENERACIÓ DE NÚMEROS PSEUDOALEATORIS_____________________________________ 191.4.3 GENERACIÓ DE NÚMEROS PSEUDOALEATORIS DE DISTRIBUCIONS DISCRETES____________ 241.4.3.1 Generació de seqüències de la llei geomètrica ___________________________________ 251.4.3.2 Generació de seqüències de la llei binomial _____________________________________ 261.4.4 GENERACIÓ DE NÚMEROS PSEUDOALEATORIS DE DISTRIBUCIONS CONTÍNUES ___________ 271.4.4.1 Generació de Números Pseudoaleatoris de distribució exponencial___________________ 281.4.4.2 Generació de Números Pseudoaleatoris de distribució Erlang_______________________ 291.4.4.3 Generació de Números Pseudoaleatoris de la distribució discreta de Poisson __________ 301.4.4.4 Generació de Números Pseudoaleatoris de distribució uniforme U[a,b] _______________ 311.4.4.5 Generació de Números Pseudoaleatoris de distribució Normal ______________________ 321.4.4.6 Mètode de Box-Muller _____________________________________________________ 33

Page 3: INVESTIGACIÓ OPERATIVA ESTOCÀSTICA: Introducció a la …lmontero/lmm_tm/TrSioe.pdf · emprar-se per exemple pel càlcul d’integrals definides. • Models de simulació dinàmics:

DIPLOMATURA D’ESTADÍSTICA IOEIntroducció a la Simulació i Generació de Nombres Aleatoris

Prof. Esteve Codina & Lídia Montero Pàg. 3

1. INTRODUCCIÓ A LA SIMULACIÓ

èè La simulació és una tècnica de la Investigació Operativa adreçada al’anàlisi de sistemes complexes.

Trade-off entre manejabilitat i representativat del sistema.

La simulació reprodueix el comportament d’un sistema realal llarg del temps.

èè La construcció i explotació d’un model de simulació estàconstituït de les següents etapes:

1. Formulació del Problema

2. Recollida de Dades i Desenvolupament del Model

3. Construcció del Programa d’Ordinador

4. Iterar fins la verificació de la correctesa del programa

5. Iterar fins la validació de la correctesa del model: el modeldesenvolupat ha de reproduir adequadament les dadesrecollides a la fase 2.

6. Disseny d’Experiments

7. Realitzar les execucions del programa de simulació amb elsjocs d’experiments dissenyats a la fase 6. Recollida deresultats estadístics.

8. Anàlisi estadístic dels resultats de la simulació.

9. Documentació, discussió, presentació i si s’escauimplementació dels resultats.

Page 4: INVESTIGACIÓ OPERATIVA ESTOCÀSTICA: Introducció a la …lmontero/lmm_tm/TrSioe.pdf · emprar-se per exemple pel càlcul d’integrals definides. • Models de simulació dinàmics:

DIPLOMATURA D’ESTADÍSTICA IOEIntroducció a la Simulació i Generació de Nombres Aleatoris

Prof. Esteve Codina & Lídia Montero Pàg. 4

èè Les avantatges de la Simulació enfront dels models analíticssón:

1. Una teoria molt més assequible.

2. La capacitat de tractar models més complexes amb menyshipòtesis simplificadores.

3. L’adaptabilitat dels models de simulació construïts a situacionssimilars que impliquin variants en els paràmetres, opcions dedisseny o política de gestió d’alguna de les componentsimplicades.

4. Permet reproduir el comportament d’un sistema sense haver deconstruir-lo, característica especialment valuosa si l’experiènciaté un caire destructiu (comportament de reactors nuclears) o unimpacte social negatiu (assajar un pla de coordinació semafòricaper la campanya de Nadal a l’Eixample o per l’operació desortida en un pont de Sant Joan).

èè Els inconvenients de la Simulació enfront dels models analíticssón:

1. Cost de desenvolupament i explotació dels models de simulació,doncs requereixen d’execucions repetides per facilitar resultatsestadístics. El cost de desenvolupament dels models reduït ambels llenguatges i entorns de simulació. Per una altra banda, eltemps d’execució dels models és cada cop menys important ambla millora de les prestacions de les ordinadors.

2. La simulació facilita estimacions estadístiques de les variablesd’interès.

Page 5: INVESTIGACIÓ OPERATIVA ESTOCÀSTICA: Introducció a la …lmontero/lmm_tm/TrSioe.pdf · emprar-se per exemple pel càlcul d’integrals definides. • Models de simulació dinàmics:

DIPLOMATURA D’ESTADÍSTICA IOEIntroducció a la Simulació i Generació de Nombres Aleatoris

Prof. Esteve Codina & Lídia Montero Pàg. 5

3. No és un eina d’optimització, malgrat que pot combinar-se ambles tècniques d’optimització, a un cost avui en dia gensmenyspreable.

èè Alguns sistemes reals que han requerit de la Simulació per la sevaanàlisi són:

• El trànsit, tant a nivell de corredors urbans o suburbansd’autopistes com a nivell de xarxa urbana. La simulació permetavaluar polítiques de gestió, sistemes de control semafòric,avaluar dissenys de noves infrastructures, etc.

• Automatització de magatzems.

• Processos de fabricació: equilibri en les línies de producció devehicles.

• Simuladors de vol, de túnels de vent, etc.

• Anàlisi de configuracions de xarxes d’ordinadors, etc.

Page 6: INVESTIGACIÓ OPERATIVA ESTOCÀSTICA: Introducció a la …lmontero/lmm_tm/TrSioe.pdf · emprar-se per exemple pel càlcul d’integrals definides. • Models de simulació dinàmics:

DIPLOMATURA D’ESTADÍSTICA IOEIntroducció a la Simulació i Generació de Nombres Aleatoris

Prof. Esteve Codina & Lídia Montero Pàg. 6

1.1 Conceptes bàsics

èè L’objecte d’un estudi de simulació s’anomena sistema.

Un sistema és un conjunt d’entitats que actuen i interaccionenentre elles per tal d’assolir algun objectiu.

èè L’estat del sistema és el conjunt de variables necessàries per ladescripció de la situació del sistema en un moment donat. Lesvariables s’anomenen variables d’estat.

èè Una entitat és cadascun dels elements en que es descomposa elsistema objecte de l’estudi. Les entitats es caracteritzen per lesseves propietats o atributs.

èè Classificació dels Sistemes:

• Sistemes discrets: les variables d’estat canvien en punts discretsdel temps. Per exemple, en la simulació d’una terminal de check-in d’equipatges, l’estat del sistema canvia cada cop que arriba ose’n va un client.

• Sistemes continus: les variables d’estat canvien de maneracontinua al llarg del temps. Per exemple, en la simulació de lareacció en cadena en un reactor nuclear el temps ha de tractar-sede manera contínua i les variables d’estat caracteritzar-secontínuament.

• Sistemes combinats: algunes variables d’estat canvien d’estat enpunts concret del temps, mentre que d’altres evolucionen demanera contínua. La simulació del trànsit urbà constitueix unexemple d’aquest darrer tipus de sistemes, els semàfors canvienen instants concrets, mentre que la posició dels vehicles a la xarxaevoluciona de manera contínua.

Page 7: INVESTIGACIÓ OPERATIVA ESTOCÀSTICA: Introducció a la …lmontero/lmm_tm/TrSioe.pdf · emprar-se per exemple pel càlcul d’integrals definides. • Models de simulació dinàmics:

DIPLOMATURA D’ESTADÍSTICA IOEIntroducció a la Simulació i Generació de Nombres Aleatoris

Prof. Esteve Codina & Lídia Montero Pàg. 7

èè Classificació dels Models de Simulació:

A continuació es proposen tres possibles classificacions, que nosón incompatibles entre elles.

Una primera classificació obeeix al caire estàtic o dinàmic del’objecte d’estudi:

• Models de simulació estàtics: donen representacions del sistemaen un moment donat, no la seva evolució al llarg del temps. Lasimulació de Montecarlo és una tècnica de simulació estàtica i potemprar-se per exemple pel càlcul d’integrals definides.

• Models de simulació dinàmics: representen l’evolució de lesvariables d’estat del sistema al llarg del temps.

Una segona classificació obeeix al caire determinista o estocàsticde les variables d’estat involucrades en la modelització delsistema objecte de l’estudi:

• Models de Simulació Deterministes: no contenen variables d’estataleatòries.

• Models de Simulació Estocàstics: alguna de les variables d’estatés aleatòria.

Una tercera classificació obeeix a les característiques del’evolució de les variables d’estat, és a dir del mateix sistema, alllarg del temps:

• Models de simulació discrets: les variables d’estat canvien enpunts concrets del temps.

• Models de simulació continus: les variables d’estat evolucionende manera contínua al llarg del temps.

Page 8: INVESTIGACIÓ OPERATIVA ESTOCÀSTICA: Introducció a la …lmontero/lmm_tm/TrSioe.pdf · emprar-se per exemple pel càlcul d’integrals definides. • Models de simulació dinàmics:

DIPLOMATURA D’ESTADÍSTICA IOEIntroducció a la Simulació i Generació de Nombres Aleatoris

Prof. Esteve Codina & Lídia Montero Pàg. 8

• Models de simulació combinats: amb variables d’evolució discretai variables d’evolució contínua.

1.2 Simulació de Monte Carlo

èè Un mètode de Monte Carlo és aquell que usa per resoldre unproblema:

1. Números aleatoris, independents i uniformement distribuïts al’interval entre 0 i 1.

2. Mètodes numèrics no analítics.

Exemple d’Estimació del número Π :

èè A partir de l’àrea del cercle de radi unitat, és a dir ππ =⋅ 2R :

ππ

=⋅=⋅⋅=⋅ ∫∫∫∫

≥≥

≤+≤+ 444

0

0

11 2222

y

x

yxyx

dydxdydx

èè El procediment basat en un mètode de Monte Carlo podriaconsistir en generar N=1000 parelles de valors ( )nn yx , tal que xn iyn són números aleatoris independents entre 0 i 1.

Sigui ≤+

=altrament

yxC nn

n0

11 22

N

CN

nn∑

== 1

4

π̂

n

x

y

(-1,1) (1,1)

(-1,-1) (1,-1)

Page 9: INVESTIGACIÓ OPERATIVA ESTOCÀSTICA: Introducció a la …lmontero/lmm_tm/TrSioe.pdf · emprar-se per exemple pel càlcul d’integrals definides. • Models de simulació dinàmics:

DIPLOMATURA D’ESTADÍSTICA IOEIntroducció a la Simulació i Generació de Nombres Aleatoris

Prof. Esteve Codina & Lídia Montero Pàg. 9

èè En Estadística Matemàtica, la simulació per Monte Carlo solemprar-se per determinar les conseqüències de la violació de leshipòtesis de models estadístics determinats, per exemple, quin ésl’efecte de la no normalitat de les variables de resposta en unaregressió lineal simple.

1.3 Simulació de Successos Discrets

èè La simulació de successos discrets modelitza l’evolució d’unsistema mitjançant una representació on les variables d’estatcanvien en instants determinats del temps. En síntesi, requereix dedeterminar:

• Quines són les variables d’estat.

• Identificar quins esdeveniments provoquen un canvi enalguna/es variable/s d’estat i en quin instant de temps esprodueixen. La implementació de la simulació de sistemesdiscrets requereix per cada esdeveniment o succés definir unprocediment associat que actuï sobre les variables d’estatafectades.

• Mantenir un rellotge de la simulació (clock simulation).

èè La simulació consisteix en un seguiment o traça de l’evoluciódinàmica dels canvis d’estat del sistema.

Page 10: INVESTIGACIÓ OPERATIVA ESTOCÀSTICA: Introducció a la …lmontero/lmm_tm/TrSioe.pdf · emprar-se per exemple pel càlcul d’integrals definides. • Models de simulació dinàmics:

DIPLOMATURA D’ESTADÍSTICA IOEIntroducció a la Simulació i Generació de Nombres Aleatoris

Prof. Esteve Codina & Lídia Montero Pàg. 10

1.3.1 Exemple de simulació de successos discrets: sistemad’espera X/Y/s

èè Un sistema d’espera X/Y/s suposa:

1. Una població infinita.

2. Un espai d’espera a la cua únic i il·limitat.

3. Una política de servei FIFO.

4. Temps entre arribades i temps de servei per servidor distribuïtssegons lleis de distribucions respectives ( )xFX i ( )yFY .

5. L’existència de s servidors, tots ells de característiquesidèntiques.

èè La funció de distribució de probabilitat de la variable discretatemps entre arribades de clients al sistema d’espera és:

[ ]iX ≤ 1 2 3 4

( )xFX 0.2 0.5 0.85 1

èè La funció de distribució de la variable discreta temps de servei és:

[ ]iY ≤ 1 2 3

( )yFY 0.35 0.75 1.0

Page 11: INVESTIGACIÓ OPERATIVA ESTOCÀSTICA: Introducció a la …lmontero/lmm_tm/TrSioe.pdf · emprar-se per exemple pel càlcul d’integrals definides. • Models de simulació dinàmics:

DIPLOMATURA D’ESTADÍSTICA IOEIntroducció a la Simulació i Generació de Nombres Aleatoris

Prof. Esteve Codina & Lídia Montero Pàg. 11

èè L’estat del sistema ve definit per les variables d’estat:

1. Número de clients al sistema d’espera.

2. Estat de cada servidor.

3. Instant de la propera arribada al sistema.

4. Instant de la propera sortida del sistema.

èè Successos que provoquen canvis en les variables d’estat, enterminologia de la simulació de sistemes discrets, events:

1. Arribada d’un nou client al sistema.

2. Sortida d’un client del sistema, per finalització del seu servei.

èè La simulació consisteix en la planificació dels diferents tipus desuccessos o events en l’eix de temps controlat per rellotge de lasimulació. Per cada tipus de succés sol haver-hi una llista ordenadade successos, segons el temps de simulació, la event list.

èè Les condicions inicials del sistema a simular és la de sistema buit,per tant tots els servidors estan lliures, la cua està buida i l’inici deltemps de simulació a 0 pot venir determinat per l’arribada delprimer client al sistema: time=0.

Page 12: INVESTIGACIÓ OPERATIVA ESTOCÀSTICA: Introducció a la …lmontero/lmm_tm/TrSioe.pdf · emprar-se per exemple pel càlcul d’integrals definides. • Models de simulació dinàmics:

DIPLOMATURA D’ESTADÍSTICA IOEIntroducció a la Simulació i Generació de Nombres Aleatoris

Prof. Esteve Codina & Lídia Montero Pàg. 12

Event ARRIBADA:

èè L’instant de sortida del sistema d’un client que entra en servei ésl’instant actual més el temps de servei generat aleatòriament segonsla distribució ( )yFY , és a dir:

simulation time + durada del servei.

èè L’instant de la propera arribada d’un client al sistema és l’instantactual més el temps entre arribades generat aleatòriament segons ladistribució ( )xFX , és a dir:

simulation time + interval fins la propera arribada.

Arribada

Client enservei

Client ala cua

OcupatsAlgunlliure

EstatServidors

Programar instantde sortida delsistema

Programar properaentrada al sistema

Page 13: INVESTIGACIÓ OPERATIVA ESTOCÀSTICA: Introducció a la …lmontero/lmm_tm/TrSioe.pdf · emprar-se per exemple pel càlcul d’integrals definides. • Models de simulació dinàmics:

DIPLOMATURA D’ESTADÍSTICA IOEIntroducció a la Simulació i Generació de Nombres Aleatoris

Prof. Esteve Codina & Lídia Montero Pàg. 13

Event SORTIDA:

èè Els mecanismes d’actualització del temps de simulació méscorrents són:

• Incrementar el temps fins el proper succés. El rellotge de lasimulació avança fins l’instant de l’event més proper programat,requereix que els procediments vinculats a cada eventprovoquin la planificació de nous events.

• Increment fix del temps de simulació: t∆ . El rellotge de lasimulació avança de t∆ en t∆ i si existeix algun event a sertractar aleshores procedeix a activar el procediment vinculat al’event.

Sortida

Inici nouservei

SistemaLliure

SINO

Cuabuida ?

Programar instant desortida del sistema

Page 14: INVESTIGACIÓ OPERATIVA ESTOCÀSTICA: Introducció a la …lmontero/lmm_tm/TrSioe.pdf · emprar-se per exemple pel càlcul d’integrals definides. • Models de simulació dinàmics:

DIPLOMATURA D’ESTADÍSTICA IOEIntroducció a la Simulació i Generació de Nombres Aleatoris

Prof. Esteve Codina & Lídia Montero Pàg. 14

1.3.1.1 Algorisme de simulació discreta per la cua X/Y/s:

Programa X_Y_s;{Inicialització de les variables d’estat};{Seleccionar el primer succés};

Temps = Temps del primer succés;

Mentre temps < Durada de la Simulació ferSi Event = ‘Arribada’ llavors{Procediment de l’event arribada}sinó{Procediment de l’event sortida}fsi;

{Recollir estadístiques};{Seleccionar el proper event};

Fmentre;{Imprimir resultats}

Fiprograma

{Procediment de l’event ARRIBADA}Temps = Temps Propera Arribada;Si Algun servidor està lliure llavors

Triar servidor lliure-> s;Servidor s ocupat;{Generar sortida}

sinóAfegir a la cua

Fsi;{Generar Arribada}

{Procediment de l’event SORTIDA}Temps = Temps Propera Sortida;Si Cua buida llavors

Servidor Lliure;Sinó

Triar servidor lliure-> s;Servidor s ocupat;Decrementar la cua;{Generar sortida}

Fsi;

{Generar Arribada}Generar un número aleatori distribuït segons llei entre arribades -> Interval;Temps propera arribada = Temps + Interval;Afegir a la llista de l’event ARRIBADA;

{Generar Sortida}Generar un número aleatori distribuït segons llei de temps de servei ->Interval;Temps propera sortida = Temps + Interval;Afegir a la llista de l’event SORTIDA;

Page 15: INVESTIGACIÓ OPERATIVA ESTOCÀSTICA: Introducció a la …lmontero/lmm_tm/TrSioe.pdf · emprar-se per exemple pel càlcul d’integrals definides. • Models de simulació dinàmics:

DIPLOMATURA D’ESTADÍSTICA IOEIntroducció a la Simulació i Generació de Nombres Aleatoris

Prof. Esteve Codina & Lídia Montero Pàg. 15

1.3.1.2 Traça de la Simulació

Suposem l’arribada al sistema X/Y/2 de 9 clients i un cronogramad’arribades i temps de servei generat a priori amb les següentscaracterístiques:

ID. Client Interval des de l’arribadaanterior

Durada del servei

1 - 32 2 33 2 24 3 15 4 16 2 27 1 18 3 29 3 1

èè Traça de la Simulació:

Event TipusEvent

Id.Client

Time Servidorslliures

Nº encua

ProperaArribada

ProperaSortida

0 Inicialitz. - 0 2 0 0 -1 Arribada 1 0 1 0 2 32 Arribada 2 2 0 0 4 53 Sortida 1 3 1 0 4 54 Arribada 3 4 0 0 7 65 Sortida 2 5 1 0 7 66 Sortida 3 6 2 0 7 -7 Arribada 4 7 1 0 11 88 Sortida 4 8 2 0 11 -9 Arribada 5 11 1 0 13 12

10 Sortida 5 12 2 0 13 -11 Arribada 6 13 1 0 14 15

12 Arribada 7 14 0 0 17 1513 Sortida 6 15 1 0 17 1514 Sortida 7 15 2 0 17 -15 Arribada 8 17 1 0 20 19

…..

Page 16: INVESTIGACIÓ OPERATIVA ESTOCÀSTICA: Introducció a la …lmontero/lmm_tm/TrSioe.pdf · emprar-se per exemple pel càlcul d’integrals definides. • Models de simulació dinàmics:

DIPLOMATURA D’ESTADÍSTICA IOEIntroducció a la Simulació i Generació de Nombres Aleatoris

Prof. Esteve Codina & Lídia Montero Pàg. 16

1.3.1.3 Recollida d’estadístiques

èè Les fórmules per les estadístiques dels valors mitjos de la longitudde cua i el número de clients en el sistema són més entenedores sies defineixen les següents variables:

• it∆ : Interval de temps entre el succés i i i+1.

• I : Número total de successos durant la simulació.

• iql : Longitud de la cua durant l’interval it∆ .

• il : Número de clients en el sistema durant l’interval it∆ .

èè El número mig de clients en la cua del sistema i en el sistema són,

=

=

∆⋅=

I

ii

i

I

iq

q

t

tlL

i

1

1

=

=

∆⋅=

I

ii

i

I

ii

t

tlL

1

1

Page 17: INVESTIGACIÓ OPERATIVA ESTOCÀSTICA: Introducció a la …lmontero/lmm_tm/TrSioe.pdf · emprar-se per exemple pel càlcul d’integrals definides. • Models de simulació dinàmics:

DIPLOMATURA D’ESTADÍSTICA IOEIntroducció a la Simulació i Generació de Nombres Aleatoris

Prof. Esteve Codina & Lídia Montero Pàg. 17

1.4 Generació de Números Aleatoris

èè Formalment un número aleatori és una variable aleatòria quecompleix les següents propietats:

1. La variable està uniformement distribuïda en l’interval )1,0[ .

2. La seqüència d’aquestes variables mostra independènciaestadística. És a dir, el coneixement d’un valor de la seqüència,

ix , no aporta coneixement sobre un altre valor jix j ≠, .

1.4.1 Tècniques per la generació de números aleatoris

Una tècnica conceptualment molt simple fa ús d’una monedaequilibrada que es llença repetidament n vegades, suposem que esvincula el valor 1 a l’aparició de cara en un llançament i el valor 0 al’aparició de creu. El llançament n vegades de la moneda configura un

número binari de n bits. Si es divideix el número resultant per 12 −n,

aleshores s’obté un valor decimal entre 0 i 1 . La tècnica proporciona

com a màxim n2 valors diferents, és a dir, números aleatoris diferents.

Per exemple, per n=3 el conjunt de números binaris de 3 dígitsés:

{ }111110101011100010001000=B

Si es divideixen els valors de B per 7123 =− , aleshores estransformen en 8 números aleatoris entre 0 i 1. Tots els valors sónequiprobables si la moneda és equilibrada.

Page 18: INVESTIGACIÓ OPERATIVA ESTOCÀSTICA: Introducció a la …lmontero/lmm_tm/TrSioe.pdf · emprar-se per exemple pel càlcul d’integrals definides. • Models de simulació dinàmics:

DIPLOMATURA D’ESTADÍSTICA IOEIntroducció a la Simulació i Generació de Nombres Aleatoris

Prof. Esteve Codina & Lídia Montero Pàg. 18

èè Es poden dissenyar rodes de la fortuna o dispositius físicscomplexes per la generació de números aleatoris (per exemple,basats en els ratjos gamma emesos per un nucli radioactiu).

èè Taules amb un mil.lió de dígits aleatoris publicada per la RandCorporation (1955). Per formar un número de diguem 10 decimalsa partir de la taula, s’agafarien 10 dígits seguits de la taula.

èè La simulació manual fa us de les taules de números aleatoris, peròels requeriments de números aleatoris pot ser molt gran ensimulació.

èè És pràcticament inconcebible a l’actualitat no usar la simulació perordinador i per tant, els números quasi aleatoris generats pelspropis ordinadors.

Ara bé, les seqüències de números generats pels ordinadorsno solen ser totalment aleatoris, en general són númerospseudoaleatoris de més o menys qualitat segons l’algorisme degeneració implementat.

Page 19: INVESTIGACIÓ OPERATIVA ESTOCÀSTICA: Introducció a la …lmontero/lmm_tm/TrSioe.pdf · emprar-se per exemple pel càlcul d’integrals definides. • Models de simulació dinàmics:

DIPLOMATURA D’ESTADÍSTICA IOEIntroducció a la Simulació i Generació de Nombres Aleatoris

Prof. Esteve Codina & Lídia Montero Pàg. 19

1.4.2 Generació de Números Pseudoaleatoris

èè Els números veritablement aleatoris estan distribuït uniformement

a l’interval )1,0[ i són estadísticament independents. Els númerospseudoaleatoris han d’aproximar-se a aquest ideal.

èè Els números pseudoaleatoris han de ser reproduïbles.

èè El generador ha de ser ràpid, perquè el programa de simulaciócrida el generador en moltes ocasions i els requeriments dememòria per implementar el generador han de ser reduïts iindependents del tamany de la mostra a generar.

èè Hi ha virtualment infinites tècniques per la generació perordinador de seqüències de números pseudoaleatoris icontínuament n’apareixen de noves, es presentaran per tant,algunes tècniques il·lustratives.

èè Els generadors de números pseudoaleatoris han de passar bateriesde tests i fins i tot així no hi ha una garantia absoluta de la sevabondat, construir bons generadors de números aleatoris és moltdifícil, com il·lustren alguns autors.

èè L’ús de generadors de mala qualitat pot ser nefast en simulació,doncs la validesa dels resultats d’aquesta queda automàticamentinvalidada. La llibreria NAG (Numerical Algorithm Group) contésubrutines Fortran per la generació de números pseudoaleatoris,els noms de les quals comencen per GO5 (GO5CAF, GO5CBF,GO5CCGF).

Page 20: INVESTIGACIÓ OPERATIVA ESTOCÀSTICA: Introducció a la …lmontero/lmm_tm/TrSioe.pdf · emprar-se per exemple pel càlcul d’integrals definides. • Models de simulació dinàmics:

DIPLOMATURA D’ESTADÍSTICA IOEIntroducció a la Simulació i Generació de Nombres Aleatoris

Prof. Esteve Codina & Lídia Montero Pàg. 20

Generació de Números Pseudoaleatoris …

èè El mètode dels quadrats mitjos. Tècnica inventada per John vonNeumann als anys 40.

33 Pressuposa que es parteix de un número ox de m dígits.

33 Quan es fa el quadrat de ox s’obté un nou número de com amàxim 2m dígits (s’afegeixen zeros pel davant si el nombre dedígits és inferior a 2m).

33 El proper número de la seqüència, 1x , s’obté retenint els m

dígits centrals de 20x .

33 Per obtenir un número en l’interval 0 a 1, es divideix 1x perm10 . Repetint el procediment sobre 1x , s’obté el següent valor

pseudoaleatori de la seqüència.

33 Desafortunadament, no tots el m10 números poden aparèixer.

Per exemple, si m=2 i 23=ox s’obté:

x 2x r23 0529 0.52

52 2704 0.70

70 4900 0.90

90 8100 0.10

10 0100 0.10 sempre

Page 21: INVESTIGACIÓ OPERATIVA ESTOCÀSTICA: Introducció a la …lmontero/lmm_tm/TrSioe.pdf · emprar-se per exemple pel càlcul d’integrals definides. • Models de simulació dinàmics:

DIPLOMATURA D’ESTADÍSTICA IOEIntroducció a la Simulació i Generació de Nombres Aleatoris

Prof. Esteve Codina & Lídia Montero Pàg. 21

Generació de Números Pseudoaleatoris …

èè El mètode congruencial. Es considera la relació ,

( ) mbnan ii mod1 +⋅=+ on mban ,,,0 són númerosnaturals.

1. El número inicial 0n s’anomena la llavor (seed).

2. L’operació de mòdul (residu en la divisió entera) indica quecom a màxim poden obtenir-se m números diferents, de 0 a m-1.Però en realitat solen obtenir-se h<m números diferents, h esdenomina el període o longitud de cicle del generador.

3. Si la constant additiva b és zero, aleshores el generadors’anomena multiplicatiu, altrament s’anomena mixt.

4. Un generador congruencial genera m números diferents només simban ,,,0 compleixen uns certs requeriments: 14 += da on

d, b són senars i km 2= on k sol ser el nombre de bits per

paraula en que opera l’ordinador (en binari).

5. Les constants mba ,, tenen efectes importants sobre laindependència de la seqüència de números pseudoaleatorisgenerada.

Per exemple, si 100,0,17,130 ==== mban aleshores s’obtéun període de 20:

i 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

in 13 21 57 69 73 41 97 49 33 61 37 29 93 81 77 9 53 1 17 89 13

Page 22: INVESTIGACIÓ OPERATIVA ESTOCÀSTICA: Introducció a la …lmontero/lmm_tm/TrSioe.pdf · emprar-se per exemple pel càlcul d’integrals definides. • Models de simulació dinàmics:

DIPLOMATURA D’ESTADÍSTICA IOEIntroducció a la Simulació i Generació de Nombres Aleatoris

Prof. Esteve Codina & Lídia Montero Pàg. 22

èè

èè En la literatura tècnica sobre el tema, s’han desenvolupattestos per determinar si una seqüència de números estàuniformement distribuïda i són mútuament independents.

èè

èè Un exemple de test per la uniformitat de la distribució d’unaseqüència de N números pertanyents a l’interval )1,0[ és el testassimptòtic de freqüències.

1. L’interval )1,0[ es particiona en k subintervals de la mateixa

longitud k1 , cal que kN 5≥ .

2. Es postula la hipòtesi nul·la que els N números pseudoaleatorisestan uniformement distribuïts, aleshores el nombre esperat devalors a cada subinterval ha de ser kN .

3. Es pot demostrar que l’estadístic indicat a continuació està

distribuït aproximadament com una llei 2

1−kχ amb k-1 graus de

llibertat per kN 5≥ :

21

1

2

−=

−∑ k

k

ii k

Nf

N

k χ on if indica el total dels N

números de la seqüència que s’escauen a l’interval i-èssim.

Page 23: INVESTIGACIÓ OPERATIVA ESTOCÀSTICA: Introducció a la …lmontero/lmm_tm/TrSioe.pdf · emprar-se per exemple pel càlcul d’integrals definides. • Models de simulació dinàmics:

DIPLOMATURA D’ESTADÍSTICA IOEIntroducció a la Simulació i Generació de Nombres Aleatoris

Prof. Esteve Codina & Lídia Montero Pàg. 23

èè Un exemple de test per contrastar la correlació d’una seqüència de

N números Nrr ,,1 K es basa en l’estadístic jγ̂ , estimador de lacovariança a distància j de la seqüència de números, és a dir,

( )( )∑−

=+ −−

−=

jN

ijiij rr

jN 1

5.05.01

γ̂

doncs ( )( )[ ] 05.05.0 >−−= + jrrE jiijγ

1. Ara bé, com el coeficient de correlació ρ

és,( ) [ ]( ) [ ]( )[ ]

YXYX

YEYXEXEYXCov

σσσσρ

−−==,

, si els

números pseudoaleatoris d’una seqüència estan distribuïtindependentment llavors ( )( )[ ] 005.05.0 >=−−= + jrrE jiijγ

on [ ] [ ] 05.0,5.0 >== + jrErE jii .

2. Es pot demostrar que jγ̂ és assimptòticament normal amb

variança [ ] ( )( )jnVar j −= 1441γ̂ i per tant, es pot emprar ladistribució normal per contrastar la hipòtesi nul·la

JNJjH j >>== ,,2,10:0 Kρ .

3. Malauradament per alguns valors de j la hipòtesi nul·la pot seracceptada i per altres valors de j no.

Page 24: INVESTIGACIÓ OPERATIVA ESTOCÀSTICA: Introducció a la …lmontero/lmm_tm/TrSioe.pdf · emprar-se per exemple pel càlcul d’integrals definides. • Models de simulació dinàmics:

DIPLOMATURA D’ESTADÍSTICA IOEIntroducció a la Simulació i Generació de Nombres Aleatoris

Prof. Esteve Codina & Lídia Montero Pàg. 24

1.4.3 Generació de Números Pseudoaleatoris dedistribucions discretes

èè En aquesta secció es presenta el mètode de la taula de cerca perla generació de seqüències pseudoaleatòries de distribucionsdiscretes qualsevol a partir seqüències de números pseudoaleatorisen l’interval )1,0[ .

èè Sigui una funció de probabilitat d’una variable aleatòria discreta Xdefinida amb probabilitat no nul·la per un conjunt de k valors

{ } kk xxxx <<= KK 11 ,,,χ ,

és a dir { }( ) kipxXP ii ,,10 K=>== ,

i la funció de distribució de probabilitat

( ) { }( )∑ ∑= =

===i

j

i

jjjiX pxXPxF

1 1.

El procediment de generació d’un número pseudoaleatori pelmètode de la taula de cerca parteix de la generació d’un valorpseudoaleatori r pertanyent a l’interval )1,0[ i facilita com a

resultat un valor aleatori de la distribució discreta ixx = si,

∑∑=

=

<≤=i

jj

i

jji prpsixx

1

1

1

Page 25: INVESTIGACIÓ OPERATIVA ESTOCÀSTICA: Introducció a la …lmontero/lmm_tm/TrSioe.pdf · emprar-se per exemple pel càlcul d’integrals definides. • Models de simulació dinàmics:

DIPLOMATURA D’ESTADÍSTICA IOEIntroducció a la Simulació i Generació de Nombres Aleatoris

Prof. Esteve Codina & Lídia Montero Pàg. 25

1.4.3.1 Generació de seqüències de la llei geomètrica

èè Si X és una variable aleatòria geomètrica de paràmetre p aleshoresla seva funció de probabilitat és ,

( ) { }( ) ( ) K,2,11 1 =−⋅=== − ippiXPip iX

èè La funció de distribució de probabilitat és ,

( ) ( ) { }( ) ( ) ( ) K,2,11111

11

11

=−−=−⋅==== ∑∑∑=

+−

==

ipppjXPjpiFi

j

iji

j

i

jXX .

èè Aplicant el mètode de la taula de cerca sobre un valor aleatori rpertanyent a l’interval )1,0[ s’obté,

( ) ( )∑∑=

+−

=

−−=<≤−−==i

j

ij

i

j

ij pprppsiix

1

11

1

1111

Page 26: INVESTIGACIÓ OPERATIVA ESTOCÀSTICA: Introducció a la …lmontero/lmm_tm/TrSioe.pdf · emprar-se per exemple pel càlcul d’integrals definides. • Models de simulació dinàmics:

DIPLOMATURA D’ESTADÍSTICA IOEIntroducció a la Simulació i Generació de Nombres Aleatoris

Prof. Esteve Codina & Lídia Montero Pàg. 26

1.4.3.2 Generació de seqüències de la llei binomial

èè Si X és una variable aleatòria binomial de paràmetres n i paleshores la seva funció de probabilitat és,

( ) { }( ) ( ) ( ) nippiXPip ini

i

nX ,,1,01 K=−⋅⋅=== −

èè La funció de distribució de probabilitat és,

( ) ( ) { }( ) ( ) ( ) nippjXPjpiFi

j

jnj

j

ni

j

i

jXX ,,2,1,01

111

K=−⋅⋅==== ∑∑∑=

==

èè Per la generació d’un valor pseudoaleatori x de la distribuciós’emprarà una simulació estàtica que requereix de n valorsaleatoris en l’interval )1,0[ , el procediment pot descriure’s com,

Llegir n i p;x=0;Per i=1 fins n ferGenerar un valor aleatori r a l’interval )1,0[ ;Si pr ≤ llavors x=x+1;Fper

Page 27: INVESTIGACIÓ OPERATIVA ESTOCÀSTICA: Introducció a la …lmontero/lmm_tm/TrSioe.pdf · emprar-se per exemple pel càlcul d’integrals definides. • Models de simulació dinàmics:

DIPLOMATURA D’ESTADÍSTICA IOEIntroducció a la Simulació i Generació de Nombres Aleatoris

Prof. Esteve Codina & Lídia Montero Pàg. 27

1.4.4 Generació de Números Pseudoaleatoris dedistribucions contínues

èè En aquesta secció es presenta el mètode de la transformacióinversa per la generació de seqüències pseudoaleatòries dedistribucions contínues a partir de seqüències de númerospseudoaleatoris en l’interval )1,0[ , el qual és similar en concepcióal mètode de la taula de cerca per la generació de seqüènciespseudoaleatòries de distribucions discretes.

èè Sigui X una variable aleatòria contínua amb funció de distribució

de probabilitat ( )xFX .

èè Sigui r un valor pseudoaleatori pertanyent a l’interval )1,0[ ,aleshores el generador facilita el valor x de la seqüènciapseudoaleatòria distribuïda segons X tal que

( ) ( ){ }rxFxminrFx XX ≥== − |1, és a dir x és

l’antiimatge del valor r i això té sentit, probabilísticamentparlant, perquè la funció distribució de qualsevol variable pren

valors entre 0 i 1.

èè No sempre es requereix disposar de la forma analítica de la funció

inversa de la funció de distribució ( )xFX , ( ).1−XF .

Page 28: INVESTIGACIÓ OPERATIVA ESTOCÀSTICA: Introducció a la …lmontero/lmm_tm/TrSioe.pdf · emprar-se per exemple pel càlcul d’integrals definides. • Models de simulació dinàmics:

DIPLOMATURA D’ESTADÍSTICA IOEIntroducció a la Simulació i Generació de Nombres Aleatoris

Prof. Esteve Codina & Lídia Montero Pàg. 28

1.4.4.1 Generació de Números Pseudoaleatoris de distribucióexponencial

èè Sigui X una variable aleatòria exponencial de paràmetre α , llavorsla funció de distribució de probabilitat ( ) 01 ≥−= ⋅− xexF x

Xα .

èè La inversa de la funció de distribució ( )xFX és,

( ) ( )α−

=− rrFX

ln1 doncs,

( ) ( )αα

α

−=

−−

=⇒−= ⋅− rrxer x ln1ln

1

èè Així donat el valor pseudoaleatori r pertanyent a l’interval )1,0[es determina un valor pseudoaleatori x de la distribució de X.

Page 29: INVESTIGACIÓ OPERATIVA ESTOCÀSTICA: Introducció a la …lmontero/lmm_tm/TrSioe.pdf · emprar-se per exemple pel càlcul d’integrals definides. • Models de simulació dinàmics:

DIPLOMATURA D’ESTADÍSTICA IOEIntroducció a la Simulació i Generació de Nombres Aleatoris

Prof. Esteve Codina & Lídia Montero Pàg. 29

1.4.4.2 Generació de Números Pseudoaleatoris de distribucióErlang

èè Sigui X una variable aleatòria Erlang de paràmetres α i k.

èè La inversa de la funció de distribució ( )xFX no és immediata detrobar en aquest cas i per tant cal recórrer a les propietatsconegudes d’una variable d’aquestes característiques: una variableErlang de paràmetres α i k és la suma de k variables exponencialsindependents de paràmetre k.α .

Així donat k valors pseudoaleatoris krr ,,1 K pertanyents a

l’interval )1,0[ es determina un valor pseudoaleatori x de ladistribució Erlang de X segons el següent procediment:

Llegir α i k;x=0;Per i=1 fins k fer

Generar un valor aleatori ir a l’interval )1,0[ ;{Determinar el valor aleatori corresponent dela distribució exponencial deparàmetre k.α}

( )αkr

x ii −

= ln;

ixxx +=Fper

Page 30: INVESTIGACIÓ OPERATIVA ESTOCÀSTICA: Introducció a la …lmontero/lmm_tm/TrSioe.pdf · emprar-se per exemple pel càlcul d’integrals definides. • Models de simulació dinàmics:

DIPLOMATURA D’ESTADÍSTICA IOEIntroducció a la Simulació i Generació de Nombres Aleatoris

Prof. Esteve Codina & Lídia Montero Pàg. 30

1.4.4.3 Generació de Números Pseudoaleatoris de la distribuciódiscreta de Poisson

èè Sigui X una variable aleatòria discreta de Poisson de paràmetreα .

èè En aquesta ocasió també es sol recórrer a les propietats conegudesd’una variable d’aquestes característiques: una variable de Poissonde paràmetres α caracteritza el nombre d’ocurrències d’un succésen un període de temps, té un valor mig per període de α i eltemps entre 2 successos està distribuït segons una llei exponencialde paràmetre α .

èè Així donats k valors pseudoaleatoris krr ,,1 K pertanyents a

l’interval )1,0[ es determinen k valors pseudoaleatoris kyy ,,1 K

pertanyents a la distribució exponencial de paràmetre α ,( )α−

= ii

ry

ln, i es determina un valor pseudoaleatori x de la

distribució de Poisson de paràmetre α tal que:

∑∑+

==

<≤=1

11

1i

jj

i

jj yysiix

x=i és el valor més gran pel qual la suma dels i temps interarribades és inferior a un període.

Page 31: INVESTIGACIÓ OPERATIVA ESTOCÀSTICA: Introducció a la …lmontero/lmm_tm/TrSioe.pdf · emprar-se per exemple pel càlcul d’integrals definides. • Models de simulació dinàmics:

DIPLOMATURA D’ESTADÍSTICA IOEIntroducció a la Simulació i Generació de Nombres Aleatoris

Prof. Esteve Codina & Lídia Montero Pàg. 31

1.4.4.4 Generació de Números Pseudoaleatoris de distribucióuniforme U[a,b]

èè Sigui X una variable aleatòria uniforme en l’interval real [a,b] ambba < , llavors la funció de distribució de probabilitat és,

( ) bxaabax

xFX ≤≤−−= .

èè La inversa de la funció de distribució ( )xFX és,

( ) ( ) rabarFX ⋅−+=−1 doncs,

( ) rabaxabax

r ⋅−+=⇒−−=

èè Així donat el valor pseudoaleatori r pertanyent a l’interval )1,0[es determina un valor pseudoaleatori x de la distribució de X.

Page 32: INVESTIGACIÓ OPERATIVA ESTOCÀSTICA: Introducció a la …lmontero/lmm_tm/TrSioe.pdf · emprar-se per exemple pel càlcul d’integrals definides. • Models de simulació dinàmics:

DIPLOMATURA D’ESTADÍSTICA IOEIntroducció a la Simulació i Generació de Nombres Aleatoris

Prof. Esteve Codina & Lídia Montero Pàg. 32

1.4.4.5 Generació de Números Pseudoaleatoris de distribucióNormal

èè Sigui Z una variable aleatòria Normal de paràmetres 10 2 == σµ i

(normal estàndard), llavors la funció de distribució de probabilitat

és, ( ) +∞≤≤∞−⋅⋅= −

∞−∫ zdxezF xz

Z22

2

1

π .

èè La inversa de la funció de distribució ( )zFZ1−

és indeterminable

analíticament, tanmateix com ( )zFZ .

èè El mètode més simplista i obsolet rau en el Teorema Central delLímit, que diu que la suma de v.a. independents tendeix adistribuir-se segons una llei normal.

èè Per generar una seqüència de valors distribuïda normalment amb

paràmetres 2σµ i qualsevol, llavors s’ha de fer ús de la

propietat de les lleis normal que diu que una transformació lineald’una variable normal és també normal.

Sigui X una variable distribuïda normalment amb paràmetres2σµ i , aleshores després d’emprar el procediment anterior

per obtenir un valor z distribuït segons una llei normalestàndard 10 2 == σµ i , cal afegir-li un pas més per obtenir unvalor x distribuït segons X:

zx ⋅+= σµ

èè A partir dels procediments de generació de seqüències de númerospseudoaleatoris d’una llei normal de paràmetres 2σµ i qualsevoles poden desenvolupar procediments per la generació deseqüències de números pseudoaleatoris de distribucions de

Page 33: INVESTIGACIÓ OPERATIVA ESTOCÀSTICA: Introducció a la …lmontero/lmm_tm/TrSioe.pdf · emprar-se per exemple pel càlcul d’integrals definides. • Models de simulació dinàmics:

DIPLOMATURA D’ESTADÍSTICA IOEIntroducció a la Simulació i Generació de Nombres Aleatoris

Prof. Esteve Codina & Lídia Montero Pàg. 33

probabilitat relacionades amb la llei normal: llei lognormal, llei de2χ , t d’Student i F de Fisher.

1.4.4.6 Mètode de Box-Muller

èè El mètode de Box-Muller és el que es recomana d’emprar en lesimplementacions de generadors pseudoaleatoris requerits en lespràctiques. Box-Muller és un mètode exacte per la generació devalors pseudoaleatoris de distribució normal estàndard (paràmetres

10 2 == σµ i ) que fa ús de 2 valors pseudoaleatorisindependents en el interval )1,0[ , 1r i 2r , per obtenir 2 valorspseudoaleatoris normals 1x i 2x de la següent manera:

( ) ( )( )( ) ( )( )

−=−=

5.0122

5.0121

ln22sin

ln22cos

rrx

rrx

ππ

èè Una desavantatge del mètode rau en l’alt cost computacionalnecessari degut a les crides de les funcions sinus i cossinus.