You are on page 1of 12

Problema de la mochila

El problema de la mochila es un problema de programacin entera, estando sta ltima dentro del campo de la programacin matemtica y consiste en escoger un conjunto de artculos para llenar una mochila de modo de que se cumplan ciertas restricciones. Definicin Un problema tpico de programacin entera es el que nos ocupa, el problema de la mochila, que responde a la siguiente situacin: imagnese hacer una excursin a la que solo podemos llevar una mochila que, lgicamente, tiene una capacidad limitada. Cada objeto que introducimos ocupa un volumen dentro de la misma y en contrapartida durante el viaje nos proporcionar un beneficio o utilidad (ejemplo: una cantimplora), el problema surge cuando debemos elegir qu objetos seleccionar para llevar en la mochila de forma que nuestro beneficio sea mximo (tengamos todo lo necesario) sin exceder su capacidad.

Esta situacin se presenta con cierta frecuencia en los mbitos econmico e industrial, donde la mochila suele representar la restriccin presupuestaria (cantidad mxima de recursos econmicos de los que se dispone) y donde la utilidad de los objetos seleccionados se equipara a un beneficio econmico por adquirir o llevar a cabo ciertas acciones. Veamos a continuacin un ejemplo de la aplicacin del planteamiento de la mochila al mbito econmico. Ejemplo: una empresa que fabrica lapiceros, Escribe Bien S.A. que en el ejercicio econmico que se cierra ha obtenido un excedente de 300.000 (su beneficio neto, una vez descontados los impuestos y retribuidos los fondos propios es de 300.000), esto le hace replantearse una posible inversin productiva (ampliar la capacidad productiva, ampliar la fbrica, contratar ms trabajadores,....) que le permita incrementar su cartera de productos (nmero de productos que tiene en el mercado). El gerente de la empresa, Don L, rene a sus asesores financieros y comerciales para que determinen de forma conjunta qu productos sern los escogidos para la ampliacin de cartera. Los asesores comerciales sugieren los siguientes productos, basndose en estudios de mercado que han realizado para estimar la cifra de negocios que cada nuevo producto generar:
- Lpices de colores con un beneficio de 200.000 , esta cuanta es la que relacionamos con la utilidad que mencionbamos en la definicin. - Gomas de borrar con un beneficio de 100.000 - Minas para portaminas con un beneficio de 250.000 - Carboncillos con un beneficio de 150.000

Por su parte, los asesores financieros han estudiado los costes que implica reformar las instalaciones productivas para poder incrementar la cartera de productos, estos costes se podran equiparar al volumen que ocupan los objetos dentro de la mochila, por tanto, la suma de estos costes deber ser menor a la capacidad de la mochila, en este caso, los recursos financieros sobrantes: 300.000.
- Coste de las instalaciones para fabricar lpices de colores: 75.000 - Coste de las instalaciones para fabricar gomas de borrar: 150.000 - Coste de las instalaciones para fabricar minas para portaminas: 100.000 - Coste de las instalaciones para fabricar carboncillos: 50.000

Intuitivamente escoger fabricar aquel producto que mayores beneficios le d, si con la inversin en la fabricacin de ese nuevo producto no consume los 300.000 podr plantearse aumentar an ms su cartera y as sucesivamente mientras le resten recursos.
Formulacin

Para facilitar la comprensin del lector, antes de incorporar a este escrito la formulacin del problema, analizaremos las partes de las que se compone la misma.
Datos del problema - n: nmero de objetos entre los que se puede elegir. - ci: peso del objeto i - se refiere el objeto i-simo que no es ms que una forma de hacer referencia a un objeto cualquiera que pueda ser incluido en la mochila -, es decir, ci representa el coste de escoger un objeto, en tanto en cuanto va a ocupar un espacio de la mochila que dejar fuera otros objetos. - bi: utilidad o beneficio que proporciona cada objeto, de nuevo se hace referencia al objeto i-simo. - P: capacidad de la mochila, equivale al presupuesto mximo del que se dispone. Variables a tener en cuenta

Los elementos a introducir en la mochila van a ser nuestras variables objeto de anlisis, cada variable la denotaremos como xi. El rasgo ms importante de nuestras xi es que se tratan de variables dicotmicas o binaria, es decir, slo pueden tomar dos valores, en este caso, escogeremos el valor 1 (si el objeto se incluye en la mochila) 0 (si el objeto se excluye de la mochila)
Restricciones

La restriccin vendr marcada por la capacidad mxima de la mochila, de tal forma que la suma de todos los objetos multiplicados por el espacio que ocupan en la mochila no podr exceder dicha capacidad mxima. Su formulacin matemtica es la que sigue:

Funcin a maximizar

Tal y como se expresa en la definicin, el objetivo de este problema es seleccionar aquellos objetos que introducidos en la mochila nos proporcionan una mayor utilidad. En otras palabras, lo que debemos hacer es maximizar la utilidad de nuestra mochila. Si redefinimos el problema introduciendo los elementos que mencionamos en las lneas precedentes llegaremos a la siguiente formulacin: El problema de la mochila consiste en llenar una mochila con n objetos. Cada objeto i tiene un peso determinado ci siempre positivo y una utilidad o valor asociado, tambin positivo, bi. Se ha de considerar adems que la mochila tiene una capacidad limitada P, por tanto, se han de escoger aquellos objetos xi que maximicen la utilidad de quien llena la mochila sin exceder su capacidad. Ahora procederemos a formular el problema de la mochila:

Nota: pueden existir otras restricciones tcnicas que nada tengan que ver con las anteriormente citadas que seran comunes a cualquier problema de Programacin Matemtica

Mtodos de resolucin
Este problema se ha resuelto tradicionalmente mediante programacin lineal entera. El hecho de que se trate de programacin lineal hace referencia a que la funcin a optimizar y las inecuaciones que constituyen las restricciones han de ser lineales, es decir, han de ser funciones cuyas incgnitas estn elevadas exclusivamente a la unidad. Existe otra forma de resolver este tipo de problema, a travs de los denominados algoritmos voraces. Una aproximacin voraz consiste en que cada elemento a considerar se evala una nica vez, siendo descartado o seleccionado, de tal forma que si es seleccionado forma parte de la solucin, y si es descartado, no forma parte de la solucin ni volver a ser considerado para la misma. Con este mtodo no siempre es posible dar una solucin a un problema. Ejemplo: si continuamos con el ejemplo de Escribe bien S.A. vemos que la solucin intuitiva que aportamos se corresponde con el mtodo de algoritmos voraces comentado en el prrafo anterior. Si quisiramos resolver el problema mediante programacin lineal entera tendramos que plantear el modelo, del mismo modo que hicimos con Costuritas S.L. al comentar cmo se expresa un problema que solucionar por este mtodo. Otro sistema para resolver el problema de la mochila es mediante algoritmos genticos que son mtodos de optimizacin que tratan de hallar (xi,...,xn) tales que sea mximo.

Planteamiento del problema El Club Baloncesto Unicaja de Mlaga ante la lesin de Daniel Santiago y la escasa aportacin del pvot brasileo Vitor Faverani se plantea reforzar el juego interior para la disputa de los play-offs por el ttulo a partir del 17 de mayo, para ello la secretaria tcnica del equipo ha sondeado el mercado y ha encontrado a 5 jugadores que pueden adaptarse a lo requerido por el entrenador. Para reforzar el equipo el Unicaja dispone de un presupuesto mximo de 50.000 $ / mes. En la siguiente tabla aparece una relacin de los candidatos a ser fichados junto con su aportacin esperada y el sueldo que percibiran. JUGADOR/EQUIPO SUELDO APORTACIN Esteban Batista (Hawks) 50000 $ 15 Jared Reiner (Sioux Falls) 25200 $ 8 Chriss Burgess (Ulsan Phoebus) 36000 $ 15 Marcus Goree (Benetton) 47000 $ 17 K.C. Walekowski (Farho Vigo) 12000 $ 7 Como puede apreciarse, en este caso, estamos aplicando el problema de la mochila a una situacin de ndole econmico. Nuestra intencin es elegir los mejores jugadores aquellos cuya aportacin es mayor, es decir, los que proporcionan una mayor utilidad para el Unicaja optimizando tambin el desembolso que conlleva una nueva contratacin. Sin perder en ningn momento de vista la restriccin de 50.000 $.

Formulacin del problema


Una vez se ha planteado el problema, el siguiente paso lgico es formularlo en trminos matemticos, recurdese que se est intentando llegar a una solucin cuantitativa concreta y no simplemente intuitiva.
Maximizar 15x1 + 8x2 + 15x3 + 17x4 +7x5 sujeto a: 50000x1 + 25200x2 + 36000x3 + 47000x4 + 12000x5 < 50000 x1,x2,x3,x4,x5 {0,1}

siendo:
x1 Esteban Batista (Hawks) x2 Jared Reiner (Sioux Falls) x3 Chriss Burgess (Ulsan Phoebus) x4 Marcus Goree (Benetton) x5 K.C. Walekowski (Farho Vigo)

El conjunto de ecuaciones que aparecen en las lneas precedentes constituyen la formulacin matemtica del problema que estamos tratando de resolver. Para una mejor comprensin del lector, analizaremos lo que representa cada una de ellas. La primera ecuacin: 15x1 + 8x2 + 15x3 + 17x4 +7x5 es la suma de las utilidades que reporta cada jugador, representa, por tanto, la utilidad que percibir Unicaja en funcin de la combinacin de jugadores que elija, puesto que se trata de la utilidad (en este caso, estar medida por el nmero de partidos que el jugador haga ganar o en los que tenga un peso importante) al club de Baloncesto le interesar que sea lo mayor posible. De ah que el objetivo sea maximizar la funcin. Las otras dos inecuaciones representan el conjunto de restricciones del problema, la primera de ella: 50.000x1 + 25.200x2 + 36.000x3 + 47.000x4 + 12.000x5 < 50.000, se corresponde con la expresin [Sumatoria (ci*xi) desde i=1 hasta n] < P, donde, los ci o pesos del objeto i, se corresponden con los salarios de cada jugador y las xi representan a cada jugador, al igual que ocurre en la ecuacin anterior. P es la restriccin presupuestaria del equipo, es decir, son los 50.000 $ mensuales de los que puede disponer para remunerar a sus nuevos jugadores. La ltima inecuacin: x1,x2,x3,x4,x5 {0,1}, trata de indicar que estamos ante un problema dicotmico en el que cada variable puede tomar slo el valor 1 o el valor 0. En este caso, si x toma el valor 1 querr decir que el jugador es contratado y si toma el valor 0, ser seal de que el club prefiere prescindir de l.

Solucin del problema planteado


El problema de eleccin que afronta el Club Baloncesto Unicaja se puede resolver por distintas vas:
- Por el mtodo tradicional: a travs de la maximizacin del problema anteriormente formulado mediante mtodos de programacin lineal entera. - Por algoritmos: existen tipos de algoritmos (genticos, voraces), pero en esta ocasin mostraremos el algoritmo ms intuitivo y sencillo de ver. Este algoritmo es el denominado "voraz". Dejamos a un lado el algoritmo gentico ya que al ser poco intuitivo y tener cierta complejidad (no en su teora, sino en su prctica) podra hacer que el lector tuviera cierta reticencia a continuar con su lectura y comprensin. Mtodo tradicional (Programacin Lineal Entera)

Retomemos el problema formulado e reinterpretemos dicha formulacin para comprender mejor cmo vamos a resolver el problema de eleccin de jugadores (vamos a repetir de forma resumida el desarrollo del punto 3.2.)
Maximizar 15x1 + 8x2 + 15x3 + 17x4 +7x5 sujeto a: 50000x1 + 25200x2 + 36000x3 + 47000x4 + 12000x5 < 50000 x1,x2,x3,x4,x5 {0,1}

Lo que pretendemos es maximizar el valor que los jugadores contratados aportaran al equipo, teniendo en cuenta que hay un presupuesto al que ajustarse (50000 $/mes). No

hemos de olvidar que la solucin a este problema habr de darse en nmeros enteros, ya que es imposible contratar una porcin de jugador. Por qu las variables slo pueden tomar los valores 0 1?
- Si x =0 el jugador no debe ser contratado, ya que su aportacin no maximizara el valor aportado al equipo. - Si x =1 el jugador deber ser contratado, ya que su aportacin maximizar el valor que los jugadores dan al equipo.

Con todo esto, y comprendida la formulacin planteada, procedamos a resolver el problema con los mtodos tradicionales. Aqu utilizaremos el programa Mathematica 5.0, el cual nos dar una rapidsima solucin sin ninguna dificultad en su obtencin. As lo introduciremos en Mathematica: P =NMaximize[{15x1+8x2+15x3+17x4+7x5, 50000x1+25200x2+36000x3+47000x4+12000x550000, x10, x20, x30, x40, x50, x11, x21, x31, x41, x51, x1 Integers, x2 Integers, x3 Integers, x4 Integers, x5 Integers},{x1,x2,x3,x4,x5}] Y la solucin que obtendremos ser la siguiente:
{22., {x1->0, x2->0, x3->1, x4->0, x5->1}

Esto es, contrataremos a los jugadores correspondientes a las variables 3 y 5: Chriss Burgess (del Ulsan Phoebus) y K.C. Walekowski (del Farho Vigo). Y haciendo esto obtendremos una aportacin (utilidad para el equipo)de los jugadores al equipo de 22.

Algoritmos voraces

El mtodo de algoritmo voraces es muy parecido a aquello que llaman "la cuenta de la vieja". Se trata, simplemente, de elegir la opcin ms lgica de acuerdo con un criterio. Para este ejemplo escogeremos como criterio el ratio "Aportacin/Sueldo". Parece lgico ponderarlo as, ya que tenemos en cuenta ambos factores en la decisin. Cuanto ms alto sea este ratio, preferible ser contratar a este jugador. Reconsideraremos el sueldo, dividindolo por 1000 para hacer el ratio ms operativo, lo que obtendremos ser llamado *Sueldo*.
Jugador (Equipo) *Sueldo* Aportacin Ratio Esteban Batista (Hawks) 50 15 0,3000 Jared Reiner (Sioux Falls) 25,2 8 0,3175 Chriss Burgess (Ulsan Phoebus) 36 15 0,4167 Marcus Goree (Benetton) 47 17 0,3617

K.C. Walekowski (Farho Vigo) 12 7 0,5833

Como hemos dicho, escogeremos aquellos jugadores con mejor ratio hasta agotar el presupuesto.
- K.C. Walekowski: ratio =0.58333, sueldo = 12000 $ - Chriss Burgess: ratio =0.41666, sueldo = 36000 $, total acumulado = 48000 $

Como no hay ms jugadores cuyo sueldo pueda entrar en presupuesto, ste es nuestro resultado definitivo por algoritmos voraces. El resultado que nos ofrece el mtodo de algoritmos voraces coincide con el obtenido por el mtodo tradicional. Aqu lgica y matemticas puras coinciden y se refrendan mutuamente, por lo que la directiva del club no deber tener dudas en la contratacin de nuestros dos nuevos fichajes:
- K.C. Walekowski - Chriss Burgess

QUE ES LA INVESTIGACIN DE OPERACIONES?


A continuacin se expone la definicin de Investigacin de Operaciones segn los siguientes autores: TAHA. La Investigacin de Operaciones aspira a determinar el mejor curso de accin ptimo de un problema de decisin con la restriccin de recursos limitados, aplicando tcnicas matemticas para representar por medio de un modelo y analizar problemas de decisin. HILLIER - LIEBERMAN. Significa hacer investigacin sobre las operaciones referentes a la conduccin y coordinacin de actividades dentro de una organizacin aplicada a una gama extraordinariamente amplia. PRAWDA. Es la aplicacin por grupos interdisciplinarios de Mtodo Cientfico a problemas relacionados con el control de las organizaciones o de sistemas en relacin al hombre-mquina, con el fin de producir soluciones ptimas para dichas organizaciones. NAMAKFOROOSH. La investigacin de Operaciones es la aplicacin del Mtodo Cientfico a los problemas de decisin de las empresas y otras organizaciones, incluyendo el gobierno y la milicia. MOSKOWITZ - WRIGHT. La Investigacin de Operaciones toma al Mtodo Cientfico aplicado a la solucin de problemas y la toma de decisiones de la gerencia en funcin a la construccin de un modelo simblico examinando y analizando entre relaciones que lleguen a una tcnica en la toma de decisiones en base a los resultados ptimos. THIERAUF Y GROSSE. La Investigacin de Operaciones utiliza el enfoque planeado (Mtodo Cientfico) y un grupo interdisciplinario a fin de representar las complicadas relaciones funcionales como modelos matemticos para suministrar una base cuantitativa en la toma de decisiones, descubrir nuevos problemas para un anlisis cuantitativo. 1.- EL MTODO ANALTICO, hace el anlisis matemtico clsico,es utilizado para obtener soluciones en forma deductiva, (llamadas tambin soluciones analticas), o sea, que parte de lo general a lo particular. 2.- EL MTODO NUMRICO, se aplica cuando la solucin no es posible obtenerla de manera deductiva, se utilizar, el anlisis numrico, (Iterativo) o solucin numrica en forma inductiva, que va de lo particular a lo general. La solucin de tipo iterativo se aproxima a la solucin ptima con un margen de error permitido, basado en una serie de pruebas sobre la misma lgica de solucin, en relacin a resultados de una prueba anterior. 3.- Existen los MTODOS DE SIMULACIN, que son los que imitan al sistema real, es muy til en la solucin de problemas complejos, de riesgo y bajo incertidumbre. La Tcnica de Montecarlo, es un mtodo de solucin que utiliza los problemas probabilsticos de simulacin. Esta tcnica es utilizada donde no se puede hacer uso de los mtodos de solucin numrica o de solucin analtica, ya que se generan nmeros aleatorios para obtener valores muestrales en base a una distribucin de probabilidad. La Teora de Juegos, es un sistema donde existen varios grupos de decisin que reaccionan entre s. Existen Lenguajes de Programacin para la Simulacin, como: DYNAMO, FORTRAN, GPSS, SIMSCRIPT, etc.

IV. COMPROBACIN DEL MODELO Y DE LA SOLUCIN. El modelo debe probar su validez, antes de ser implantado, observando si los resultados predicen o no, con cierta aproximacin o exactitud, los efectos en relacin a las diferentes alternativas de solucin. Si los resultados del modelo, se alejan bastante de los resultados reales del sistema, se debe tomar en cuenta lo siguiente: Determinar si el modelo seala el rendimiento del sistema segn una o ms variables que afectan a dicho rendimiento. Corroborar si el modelo no ha omitido alguna variable que tenga efecto importante en el rendimiento del sistema. Comprobar si el modelo expresa realmente la relacin real existente entre la medida de rendimiento y la variables - Verificar si los parmetros includos en el modelo no estn siendo evaluados adecuadamente. Para comprobar la solucin del modelo, deber recopilarse la informacin, con el fin de hacer las pruebas necesarias y hacer la verificacin segn los siguientes pasos: a) Definir cientficamente (incluyendo la medida de rendimiento) b) Llevar a cabo el muestreo (incluyendo el diseo de experimentos) c) Reducir el nmero de datos. d) Utilizar los datos en la prueba de hiptesis e) Evaluar los resultados. Si estos pasos son llevados a cabo recurrentemente cada vez que obtienen resultados del modelo y les son presentados al grupo de toma de decisiones, se empieza a ejecutar un procedimiento sistemtico de control que depura y ajusta al mismo, con la realidad. V. ESTABLECIMIENTO DE LOS CONTROLES Y APLICACIN DE LA SOLUCIN. Los sistemas no suelen ser estables y su estructura est sujeta a cambios, que pueden ser cambios entre las variables que definen al propio sistema , o pueden ser cambios entre los valores de las variables del sistema. El objetivo del establecimiento de controles, es para que no se pierda la efectividad del modelo matemtico debido a cambios en los parmetros y la eficacia de la solucin puede verse disminuda en consecuencia a: - cambio de los valores - cambio de la relacin entre ellos - cambio en ambos factores. En consecuencia, un parmetro que no era significativo puede llegar a serlo o puede dejar de serlo, o tal vez, cambiar su grado de importancia. El diseo de un sistema de control deber tomar en cuenta lo siguiente: 1. Enumeracin de las variables y la relacin entre ellas, y la manera en que afecta a la solucin el cambio de los valores. 2. Elaboracin de un procedimiento para detectar los cambios importantes entre los parmetros (variables) y las relaciones,

3. Especificacin de la accin que deber tomarse o los ajustes que deben llevarse a cabo en el momento de ocurrir un cambio importante. Los parmetros enumerados pueden ser clasificados como: a)Valores que se conocen de antemano durante el perodo correspondiente a una decisin. Como por ejemplo: nmero de das de trabajo, precio de ventas de un artculo,... b)Medidas cuyos valores no se conocen de antemano. P. ejemplo:La cantidad de producto defectuosa, la utilidad anual de la empresa, ... La participacin entre los investigadores de operaciones y el personal de operacin, cuyo trabajo en conjunto, permitir desarrollar exitosamente el plan de implantacin. Ya que ninguna consideracin prctica se dejar de analizar, y de esta manera podrn verificarse las modificaciones o ajustes posibles al sistema **** lleva dibujos I. 8 FORMULACIN DE PROBLEMAS NO LINEALES. A continuacin se presenta un ejemplo de cmo elaborar un modelo matemtico no lineal. Se requiere determinar cul ser la cantidad de inversin inicial nica, teniendo en cuenta la cantidad futura dada, despus de cierto nmero de aos, ganando cierta tasa de inters? --------------------------------------------------------------------------------------------------------------------------------------------------------------Datos de entrada Resultado -------------------------------------------------------------------------------Cantidad a invertir ? --------------------------------------------------------------------------------------------------------------------------------------------------------------Tasa de inters Cantidad futura -------------------------------------------------------------------------------Tiempo de inversin Variables controlables : Cantidad de inversin nica ? Tiempo de inversin Variables no controlables : tasa de inters anual Tomando en cuenta lo anterior deducimos que la cantidad futura dada ser igual a la inversin nica inicial ms el inters ganado. El inters ganado se obtiene del factor inversin nica por el inters anual. Asignamos smbolos para plantear lo anteriormente descrito.

F: Cantidad futura obtenida P: Inversin inicial nica ? P i : cantidad ganada i: Tasa de inters anual Luego entonces la cantidad futura estar expresada de la siguiente manera: F=P+Pi Para el primer ao Cantidad futura para el primer ao = Inversin nica inicial + cantidad ganada F1 = P + Pi Factorizando P F1 = P ( 1 + i ) .... Para el ao 2. La cantidad de dinero acumulado F2, ser igual a la cantidad acumulada al trmino del primer ao ms el inters final del ao 1 hasta el final del ao 2. Entonces F2 = F1 + F1 i Si F1 = P ( 1 + i ), sustituyendo tenemos F2 = P ( 1 + i ) + P ( 1 + i) i Quitamos parntesis = P + P i + P ( i + i) = P + P i + P i + P i = P + 2P i + P i Factorizando P = P ( 1 + 2 i + i) Observamos que tenemos dentro del parntesis el resultado de un binomio cuadrado perfecto, entonces se puede expresar de la forma F2 = P (1 + i ) ... Para el ao 3. La cantidad de dinero acumulada ser la cantidad de dinero del ao 2 ms el inters ganado al final del ao 2. F3 = F2 + F2 i Si observamos que F2 es igual a P(1 +i) + P ( 1+i) i y sustitumos en F3, tenemos F3 = [ P (1 + i) + P (1 + i) i] + [ P (1 + i) + P ( 1 + i) i ] i Quitamos los parntesis rectangulares y obtenemos

F3 = P ( 1 + i ) + P (1 + i) i + P ( 1 + i) i + P ( 1 +i ) i = P ( 1 + i) + 2P (1 + i) + P ( 1 + i) i Factorizando P (1+i), tenemos F3 = P (1 + i) ( 1 + 2i + i) Si 1 + 2i + i es el resultado del binomio (1 + i), y lo sustitumos F3 = P ( 1 + i) ( 1 + i) Luego entonces F3 = P ( 1 + i) ... De los valores anteriores, por induccin matemtica podemos generalizar el nmero de aos en n. Si F1 = P ( 1 + i) ...(, F2 = ( 1 + i ) ...(, F3 = P ( 1 + i) ...(, deducimos que F = P ( 1 + i) n Si despejamos P, que es el valor buscado, (inversin nica), obtendremos: Ingeniera Econmica la expresa de la siguiente manera: P =F ( P/F, i, n ) Esta expresin permitir determinar el valor presente P de una cantidad futura dada f, despus de n aos a una tasa de inters i. Donde las variables dependientes sern la cantidad futura F, el inters anual i, y el nmero de aos de inversin n. Mientras que la variable independiente ser, la cantidad nica de inversin inicial P.

You might also like