viernes, 5 de marzo de 2010

Proyecto #2

Duopolio de Cournot
Mi problema de optimización es:
Suponga que una empresa fabrica y vende cierto tipo de articulos y le pide a usted que les diga cual es el numero de articulos que deben fabricar y vender para tener una maxima utilidad de ese negocio.

Expresado matematicamente seria:

Optimizar y(x), x = (x1,....., xn) Optimizar J[y(x)] = ò F[y(x)], y'(x)]dx

sujeta a: fj(x) <= 0 sujeta a: restricciones algebraicas,

j = 1, 2, ...,m integrales o diferenciales

esto lo podemos encontrar en la siguiente paguina:

http://admusach.tripod.com/doc/Optimizacion.htm

En este problema nosotros queremos encontrar la maxima utilidad de este negocio.

Mi ejemplo de una instancia y de opción mas optima seria el siguiente:
La empresa Bimbo tiene que fabricar 5,000 productos para venderlos a las respectivas tiendas que son 15 y tenemos que repartir los pedidos en el menor tiempo posible para la maxima utilidad de este negocio.

Y la decision correspondiente seria:
Existe alguna opcion mas eficiente o deficiente para la venta de los articulos?

Tenemos variantes que serian:
1.Cantidad
2.Rapidez

Habria posibles opciones:
1.Entregar la de mayor cantidad primero y despues las de menor cantidad.
2.Entregar los pedidos mas lejanos y terminar con los mas cerca.
3.Entregar los pedidos de menor cantidad y luego los de mayor cantidad
4.Entregar los pedidos mas cercanos y despues los mas lejanos.

¿Como podremos saber cual de estos es el mas optimo para nuestra venta?
Tendriamos que ver las variantes que son rapidez y cantidad, y checar que es en lo que mas podriamos sacar provecho en este caso seria mejor aprovechar la rapidez porque como son cosas comestibles que pueden perderse en un determinado tiempo y del clima y buscariamos la forma mas rapida de llegar a las tiendas sin que se nos pierda nada y aprovechemos la mayor utilidad de la venta.

para el algoritmo de desición seria:
1.Inicio
2.Analize las opciones que tenia
3.Cheque cuales serian mas eficientes o deficientes
4.analize en cual tenia menos perdida de producto
5.Escoji la mas optima o eficiente para la maxima utilidad
6.Fin

La complejidad asintótica de mi algoritmo seria muy eficiente y rapida para pocas empresas por ejemplo en mi problema que es una seria muy rapida pero en caso de mas empresas y tiendas tendriamos que analizar un poco mas los opciones que tenemos para poder elegir la mas optima para la maxima utilidad y no desperdiciar mucho producto.

El algoritmo para mi problema de optimización seria:
1.Inicio
2. Declarar las variables que en este caso serian productos, y tiendas.
3.Analizar cual sera la mejor opcion para entregar la mercancia.
4.Checar rutas, tiempo, clima y cantidad de producto.
5.Elegir la mas optima para la maxima utilidad del negocio.
6.Fin

Y su complejidad asintotica seria parecido al otro entre menos empresas y tiendas tengamos mas rapido y en ma

Mi problema de desición es P porque lo podemos realizar y analizar en un tiempo determinado y llegariamos a un resultdado en poco tiempo y no tardariamos años en encontrar la mejor opción.

Por lo tanto mi problema no es NP-duro poruqe tendria que ser un NP-completo y no lo es si no es un P polinomial y el NP-duro seria algo casi imposible de analizar o por lo menos tendrian que pasar años.

Yo me apoye en estas paginas para entender mejor algunas cosas.
Bibliografia
http://es.wikipedia.org/wiki/Clases_de_complejidad_P_y_NP
http://www.uv.es/rmoner/clase1EcIndustrial.pdf
http://www.eumed.net/cursecon/libreria/bg-micro/4b.htm
http://web.jet.es/jqc/progii3.html

1 comentario:

  1. Te caiste a simple programación lineal del duopolio, pero pues, ni modo. Más o menos bien el reporte.

    ResponderEliminar


Ejemplo de una maquina turing

Diagrama de flujo

Diagrama de flujo
representacion grafica de un algoritmo

Numeros Binarios

* Cada entero positivo se puede expresar como la

suma de selectas potencias de dos



*Cada potencia aparece por máximo una vez



* La presencia de una potencia se indica con el

dígito uno, su ausencia con el dígito cero



* La potencia cero se ubica en el extremo derecho

de la cadena binaria



EJEMPLO:

5612 convertido a numero binario

quedaria asi:

1010111101100



13503 convertido a numero binario

quedaria asi:

11010010111111

Se preguntaran que es lo que hice bueno hay les van los pasos para realizar este cambio:
1. Buscamos el multiplo de 2 que este mas cerca de nuestro numero, pero sin pasarse por ejemplo en el 5612 el multiplo mayor que utilizamos fue el 12 que seria 4096.
2. Despues restamos primero el multiplo de dos que tengamos mayor y asi susecivamente vamos restando de lo que nos queda el sig. multiplo y cada que restemos ponemos un "1" y en caso de que un numero no lo podamos restar porque es menor lo brincamos pero en nuestro numero binario pondriamos un "0" y asi hasta llegar a cero.
3. Luego comprobamos sumando todos los multiplos de 2 que restamos y nos debe de dar el mismo resultado.

Ejemplo: 5612
el multiplo con el que empezariamos seria el de 12- 4096 se lo restamos al 5612 y en este caso pondriamos en nuestro numero binario un "1" lo que nos de lo restamos al siguiente y asi sucesivamente.