Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Simulacion pacientes emergencia hospital (https://www.clubdelphi.com/foros/showthread.php?t=54646)

Delphius 27-03-2008 06:59:21

Buenas, muchos saben que estos temas me dejan "picando" mucho. No me pude resistir y quiero aportar un poco:

Distribución Normal (por aproximación):

1. Parámetros de entrada:
1.1. Media = Mean
1.2. Desvio Estandar = Std
2. Parámetros de salida:
2.1. valor a estimar [reales] = X
3. Algoritmo:

1. sum = 0
2. repetir 12 veces:
2.1. u = Aleatorio()
2.2. sum = sum + u
3. X = (Std * (sum - 6.0)) + Mean;

Distribución Uniforme:
1. Parámetros de entrada:
1.1. Valor inferior = A
1.2. Valor superior = B
2. Parámetros de salida:
2.1. valor a estimar [reales] = X
3. Algoritmo:

1. u = Aleatorio()
2. X = A + u * (B - A)

Distribución Exponencial:
1. Parámetros de entrada:
1.1. Media = Mean
2. Parámetros de salida:
2.2. valor a estimar [reales] = X
3. Algoritmo:

1. u = Aleatorio()
2. X = (-1) * Mean * ln(u)

Por ahora tengo esas, que son las más comunes. Consideré bueno darlas a conocer ya que es algo fácil de obtener y conseguir, el vedadero corazón del problema es el "motor" de los generadores de eventos (si es que se emplea este método) y por consiguiente, el uso de las colas.

Aleatorio() es una función que devuelve un número aleatorio. Como dije antes, lo más común, y optimo, es que existan muchos generadores. Y cada uno por consiguiente devolveré diferentes números, si se programa a dicha función para seguir un único generador el simulador no funcionará correctamente por lo que se deberán programar los algoritmos en función de la cantidad de generadores.

Tal vez hacer que las funciones reciban como parámetro algún identificador del generador, de modo que se podría hacer algo como:

Código Delphi [-]
TiempoLlegada := DistbExpo.GetValue(Media,NroGenerador);

Siendo ahora, posiblemente, tener un DistExpo (una clase que implementa distribución exponencial) como el encargado de pasar el Nro a la función Aleatorio:

Código Delphi [-]
TDistbExpo.GetValue (Mean: real; GeneratorNumber: integer): real;
begin
  result := (-1) * Mean * ln(GeneratorList[GeneratorNumber].GetNumber);
end;

Bueno, para complicarlo alguito:D... en el ejemplo asumí que GeneratorList es una instancia de un TGeneratorList que tiene como una propiedad vectorial por defecto del tipo TGenerator. Este TGenerator implementa un método GetNumber encargado de devolver un número aletorio según algún algoritmo declarado (por ejemplo, el del un generador multiplicador mixto).

Como consejo, par hacerlo más fácil, separemos el verdadero motor de simulación del problema.

Saludos,

RK2 27-03-2008 14:13:27

Lo que pide el profe.
 
Saludos... hay les muestro lo que pide el profesor, y que hay que ajustarlo al problema que se quiere simular; ya estoy dandole forma al " muñeco",
y pronto le mostrare parte te de lo que el me pide, pero ya enfocado a mi simulacion. les doy las gracias a todos y cada uno de los que puedan aportar sus ideas y por que no su codigo...:-)

enecumene 27-03-2008 14:22:27

Cita:

Empezado por RK2 (Mensaje 275599)
Saludos... hay les muestro lo que pide el profesor, y que hay que ajustarlo al problema que se quiere simular; ya estoy dandole forma al " muñeco",
y pronto le mostrare parte te de lo que el me pide, pero ya enfocado a mi simulacion. les doy las gracias a todos y cada uno de los que puedan aportar sus ideas y por que no su codigo...:-)

Hola, y donde está lo que el te pide?:confused::confused:

Saludos.

RK2 27-03-2008 15:13:01

ahora si ...
 
1 Archivos Adjunto(s)
discu;pen, hay esta...

Delphius 27-03-2008 15:51:29

Hola RK2, yo pensaba que el documento que nos enviaste daba a entender tus avances. Creo que estás mal interpretando nuestra generosidad (sobre todo la mia). No te vamos a hacer la tarea; más sabiendo que el nombre del archivo así lo demuestra.

Creo que con las cosas que he dicho y expuesto ya tienes una idea de como enfocar el trabajo. Si deseas recibir ayuda, que sea justa: tu expones tu dudas de forma puntual y aqui veremos de que modo ayudarte.

¿Avanzaste algo?
¿Que sistema de avance de tiempo o timing estás por emplear (o estás empleando? Recuerda que hay dos modos básicos de realizar el timing. Dependiendo de esto se te hará más o menos dificil armar una solución.

Saludos,

RK2 31-03-2008 18:36:59

Pseudocodigo...
 
***obtener tiempo entre llegadas****

tiempo_entre_llegadas(n_pacientes)= tiempo_entre_llegadas_minimo+ RAND()*(tiempo_entre_llegadas_maximo - tiempo_entre_llegadas_minimo)
***
*****tiempo de espera de pacientes****

tiempo_espera_pacientes(n_pacientes)=tiempo_inicio_servicio(n_pacientes) - tiempo_llegadas_pacientes(n_pacientes)

suma=suma + tiempo_espera_pacientes(n_pacientes)
promedio_tiempo_espera= suma /n_pacientes.



**tiempo llegada***
tiempo_llegadas__pacientes((n__pacientes()= tiempo_llegadas__pacientes((n__pacientes(-1) + tiempo_entre_llegadas(n__pacientes()

sumallegada=sumallegada + tiempo_llegadas__pacientes((n__pacientes()
promedio_tiempo_llegada = sumallegada /n__pacientes.

Delphius 31-03-2008 19:02:07

Cita:

Empezado por RK2 (Mensaje 276422)
***obtener tiempo entre llegadas****

tiempo_entre_llegadas(n_pacientes)= tiempo_entre_llegadas_minimo+ RAND()*(tiempo_entre_llegadas_maximo - tiempo_entre_llegadas_minimo)
***
*****tiempo de espera de pacientes****

tiempo_espera_pacientes(n_pacientes)=tiempo_inicio_servicio(n_pacientes) - tiempo_llegadas_pacientes(n_pacientes)

suma=suma + tiempo_espera_pacientes(n_pacientes)
promedio_tiempo_espera= suma /n_pacientes.



**tiempo llegada***
tiempo_llegadas__pacientes((n__pacientes()= tiempo_llegadas__pacientes((n__pacientes(-1) + tiempo_entre_llegadas(n__pacientes()

sumallegada=sumallegada + tiempo_llegadas__pacientes((n__pacientes()
promedio_tiempo_llegada = sumallegada /n__pacientes.

:confused::confused::confused:
And the question is....?
A ver RK2, eres miembro desde hace ya un buen tiempo y tan sólo tienes 10 mensajes... por tener 10 mensajes no vamos a suponer que no sabes como funciona este foro.

Deberías saber muy bien como viene la mano aquí. Lee la guia de estilo si tienes dudas.

Saludos,

RK2 04-04-2008 00:29:57

hola a todos los que digitaron en este hilo ..
ya tengo todo esquematizado para empezar a programar mi simulacion, todos estos dias lo he utilizado para recojer datos y muestras de probabilidad con las cuales creare mi simulacion, a mas tardar mañana estare subiendo al club todos los detalles de como programare esta tarea, en delphi por supuesto, y con ayuda de ustedes si no es mucha molestia...
gracias

RK2 04-04-2008 00:34:26

Cita:

Empezado por RK2 (Mensaje 277479)
hola a todos los que digitaron en este hilo ..
ya tengo todo esquematizado para empezar a programar mi simulacion, todos estos dias lo he utilizado para recojer datos y muestras de probabilidad con las cuales creare mi simulacion, a mas tardar mañana estare subiendo al club todos los detalles de como programare esta tarea, en delphi por supuesto, y con ayuda de ustedes si no es mucha molestia...
gracias

--------------------------------------------------------------------------
La única cosa que sé es saber que nada sé; y esto cabalmente me distingue de los demás informáticos, que creen saberlo todo.

Robert01 04-04-2008 01:53:17

Hola

Cita:

Empezado por RK2 (Mensaje 277482)
--------------------------------------------------------------------------
La única cosa que sé es saber que nada sé; y esto cabalmente me distingue de los demás informáticos, que creen saberlo todo.

Hola, yo no soy informático pero creo que tu apreciación con respecto a ellos es errónea.
En el club hay muy buenas personas y con muchos conocimientos, según he podido ver en el tiempo que llevo en el club, y se que no tienen humos a pesar de su capacidad.
Tampoco se demasiado sobre simulación. Si puedo darte una mano lo haré, tengo algunos conocimientos de estádistica y probabilidad.

Salu2

Delphius 04-04-2008 03:17:04

Cita:

Empezado por RK2 (Mensaje 277482)
--------------------------------------------------------------------------
La única cosa que sé es saber que nada sé; y esto cabalmente me distingue de los demás informáticos, que creen saberlo todo.

¿Que te ha impulsado a decir esa frase?

Si fué mi última actitud y manera de exponer las cosas, pues lo lamento.
Puede que mis palabras hayan sido cortantes y con tendencia a un sentimiento de "superioridad"; si así te ha resultado, no fue esa la itención.

Verás, por aquí vienen muchos estudiantes (me incluyo) y cada uno busca (o ha buscado) la manera de que al final le terminarámos haciendo la tarea.
Por algo yo decía que prefería que expongas tus dudas puntuales.
De este modo:
1. Nos focalizamos en ofrecerte consejos, guias y alternativas sobre el problema.
2. Te hacemos ser parte de la solución, de modo tal que tu mismo terminas encontrando la solución.

Cita:

Empezado por RK2 (Mensaje 277479)
hola a todos los que digitaron en este hilo ..
ya tengo todo esquematizado para empezar a programar mi simulacion, todos estos dias lo he utilizado para recojer datos y muestras de probabilidad con las cuales creare mi simulacion, a mas tardar mañana estare subiendo al club todos los detalles de como programare esta tarea, en delphi por supuesto, y con ayuda de ustedes si no es mucha molestia...
gracias

OK. Como estaba diciendo, espero que podamos serte de ayuda.
Me parece perfecto que tu nos muestre tu comprensión del problema, de este modo nos amoldaremos a tus avances.
Por mi parte te ayudaré como guia o Tutor. En lo posible esquemáticamente (visualmente) para que tu reordenes tus ideas. Lo primero que buscaré es ofrecerte puntos de vista o alternativas.

Te aviso que estaré fuera durante el Viernes (para mi todavía estamos en Jueves) y puede que regrese el sábado; No me arriesgaría a decir que Estaré, no se... quizás esté el Domingo. El asunto es que no voy a poder estar, pero tu tranquilo aquí habrá gente que te puede ir ayudando. Ni bien regrese y tenga tiempo pasaré por aquí.

Admito que tendré que repasar un poco algunos conceptos de Modelos y Simulación. Tengo algunos apuntes a mano.

Recuerda: dudas puntuales.

Saludos,

Caral 04-04-2008 03:41:36

Hola
Amigo Delphius, no te cansas.......:rolleyes::eek:
Luego dicen................., que difícil.:rolleyes:
Bueno hay que tener en cuenta que el cambio de actitud se dio con un intervalo de unos minutos, tiempo suficiente para ir al baño y prensarse un H....:D:D
Uhhffff.;)
Saludos

Delphius 04-04-2008 03:56:18

Cita:

Empezado por Caral (Mensaje 277507)
Hola
Amigo Delphius, no te cansas.......
Luego dicen................., que difícil.
Bueno hay que tener en cuenta que el cambio de actitud se dio con un intervalo de unos minutos, tiempo suficiente para ir al baño y prensarse un H....
Uhhffff.
Saludos

:confused::confused: No entiendo lo que dices... pero si he estado 6 horas ausente.
he vuelto hace unos minutos...
Admito que estoy un poco cansado (y eso que desperté al medio día) y ahora debo acostarme temprano ya que mañana debo hacer un viaje.
Lamento decirlo pero voy a cambiar de profesión por unos días: agrimensor:(. Debo ayudar a mi padre a medir un terreno y hacer unos planos (al menos le voy a sacar unos pesos:D)

¿Cambio de actitud?
Puede ser... es que NewDelphius está encerrado. Hoy no le he dado tiempo a que salga:D. Mejor no lo llamamemos:D:eek::p:D

Saludos,

Caral 04-04-2008 04:01:03

Hola
Amigo estas muy joven, se nota que soy un viejo:D
Me alegro que descanses un rato y mas que ayudes a tu padre.:)
Saludos

Delphius 04-04-2008 04:11:43

Cita:

Empezado por Caral (Mensaje 277510)
Hola
Amigo estas muy joven, se nota que soy un viejo:D
Me alegro que descanses un rato y mas que ayudes a tu padre.:)
Saludos

Pero estás hecho un pibe!... en unos de los hilos he visto una foto tuya y te doy 8 años menos que yo:D

Pero la ayuda no es porque me guste, me obligaron a que lo ayude:mad: porque no tiene cerca a nadie que lo ayude. Y digo yo... ¿que acaso no tiene otro hijo que está estudiando agrimensura? ¡Que se vaya a Tucuman a buscarlo y se vuelva a Rosario a medir!:D ¿Que hace un informático blanquito en medio de una zona húmeda, calurosa, al aire libre? ¡Pues quemarse!

Ya amigo,... liberaste a NewDelphius:D

Saludos,
PD: Perdón... +1

egostar 04-04-2008 04:14:05

Momento, que también van a desvirtuar este hilo, no entienden, no entienden...........:cool:

Salud OS

Delphius 06-04-2008 05:16:53

Bueno, he vuelto de mis viajes, un tanto cansado y con una pierna muy dolorida pero en fin... entero.

Veo con un poco de tristeza porque RK2 no ha expuesto sus avances y/o dudas; puede que haya conseguido darle solución a sus problemas y no hubo necesidad de postear o que no haya tenido tiempo para postear...

En fin, ya he vuelto y me gustaría poder conocer un poco sobre el esquema de RK2, al menos que pudieramos saber superficialmente de como ha venido la mano. Quien sabe... puede que a otros foristas les sea de ayuda.

Saludos,


La franja horaria es GMT +2. Ahora son las 15:19:54.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi