You are on page 1of 3

RESOLUCIÓN DEL PROBLEMA DE LA MOCHILA POR EL METODO DE RAMIFICAR Y ACOTAR

Angela Maria Devia, Carlos Eduardo Rodriguez

Universidad Nacional de Colombia. Bogotá D. C., Colombia.

{amdevias,cerodriguezl}@unal.edu.co

Abstract. El problema de la mochila ha sido ampliamente estudiado en el desarrollo de algoritmos ya que permite evaluar la eficacia de los mismos. Las características de este problema son fácilmente relacionadas con situaciones reales en las empresas y, en general, en cualquier actividad que requiera la asignación de recursos. Pero no implica sencillamente una elección de recursos, sino que además condiciona la elección del recurso a cierto beneficio que se obtendrá al asignarlo y a ciertos factores que restringen su elección a partir de la capacidad que se tiene para poder asignarlo. En este documento describiremos matemáticamente las características de este problema y como puede ser solucionado a través del método de ramificar y acotar, uno de los algoritmos lineales más frecuentes y aunque no es muy eficiente en cuanto a tiempo de solución se refiere, es el que permite considerar realmente todas las posibles soluciones de un problema real.

Keywords: Programación Entera, knapsack problem, problema de la mochila, árbol de ramificar y acotar.

  • 1 Introducción

El problema de la mochila surge a partir de la siguiente situación: “Deseamos hacer una excursión al campo, pero sólo podemos llevar con nosotros una mochila, la cual tiene una capacidad de almacenamiento limitada. Poseemos varios elementos que podríamos llevar y podrían ser muy útiles para diferentes situaciones, pero la capacidad de la mochila no es suficiente para permitirnos llevarlos todos. Tenemos que elegir los elementos que llevaremos de tal forma que los que llevemos nos proporcionen el mayor beneficio posible y que estos quepan en la mochila”. Este problema es muy frecuente en las empresas cuando se toman decisiones respecto al presupuesto y las inversiones. A través de este método de programación lineal entera, se busca llegar a concluir la cantidad de elementos que se van a llevar en la mochila. Este método nos permite concluir cuales elementos se llevan o no se llevan y esto es representado a través de un cero (0) cuando no se lleva y con un uno (1) si el elemento es elegido para llevar en la maleta.

  • 2 Definición formal del problema

El problema definido matemáticamente se describe de la siguiente forma: se cuenta con un conjunto de objetos de tamaño , cada uno de dichos objetos tiene un peso y un beneficio

RESOLUCIÓN DEL PROBLEMA DE LA MOCHILA POR EL METODO DE RAMIFICAR Y ACOTAR Angela Maria Devia,
RESOLUCIÓN DEL PROBLEMA DE LA MOCHILA POR EL METODO DE RAMIFICAR Y ACOTAR Angela Maria Devia,

, y una mochila con una capacidad de donde se cargaran los objetos seleccionados, representaremos la solución mediante el vector de tamaño , donde puede tomar valor de 0 o 1 dependiendo si el objeto es o no llevado en la mochila. En las líneas siguientes se define el problema en términos de las variables establecidas.

RESOLUCIÓN DEL PROBLEMA DE LA MOCHILA POR EL METODO DE RAMIFICAR Y ACOTAR Angela Maria Devia,
RESOLUCIÓN DEL PROBLEMA DE LA MOCHILA POR EL METODO DE RAMIFICAR Y ACOTAR Angela Maria Devia,
RESOLUCIÓN DEL PROBLEMA DE LA MOCHILA POR EL METODO DE RAMIFICAR Y ACOTAR Angela Maria Devia,
RESOLUCIÓN DEL PROBLEMA DE LA MOCHILA POR EL METODO DE RAMIFICAR Y ACOTAR Angela Maria Devia,
3 Descripción del método de ramificar y acotar El método consiste en la evaluación de todas
  • 3 Descripción del método de ramificar y acotar

El método consiste en la evaluación de todas las posibles soluciones al problema a partir de las características iníciales del mismo, considerando en cada etapa una decisión respecto a los elementos del problema, esto es lo que se considera como la elección o no del elemento para ir dentro de la mochila. Los pasos del algoritmo de ramificar y acotar para un problema con variables binarias (0 ó 1) son:

  • 1. Se plantean las restricciones y la función objetivo del problema.

  • 2. Se da la primera solución de la función objetivo donde todas las variables son cero.

  • 3. Se elige la variable i=i+1 y se divide el árbol del algoritmo en dos: por un lado, cuando la variable es igual a cero (o sea que el elemento no se lleva) y por el otro lado, cuando la variable es igual a uno (o sea cuando el elemento si va en la mochila o es incluido en la solución). Decimos que las soluciones de este paso son relacionadas con la solución que les dio origen con un arco el cual se identa con la elección para la variable y estas soluciones son posicionadas en la etapa i=i+1.

  • 4. Si i=n, entonces se termina el algoritmo y se comparan las posibles soluciones para así elegir la que mejor satisface la función objetivo del problema. Si i<n, entonces se continúa con el paso 3 para cada una de las soluciones obtenidas.

Veamos un ejemplo de cómo se realiza el método de ramificar y acotar.

  • 4 Ejemplo del problema de la mochila resuelto por el método

Un viajero cuenta con 5 objetos que puede cargar en su mochila, pero desgraciadamente únicamente puede llevar el conjunto de objetos que no sobrepasen la capacidad W de dicha mochila, si además de todo cada objeto le proporciona un beneficio al viajero, ¿cuál es el conjunto de objetos que el viajero debe llevar para maximizar su beneficio y no sobrepasar el peso restringido por la capacidad de la mochila?

Los datos del problema se describen a continuación:

3 Descripción del método de ramificar y acotar El método consiste en la evaluación de todas

El vector Solución inicial es:

El vector Solución inicial es: Entonces, el árbol que describe el proceso de ramificar y acotar
El vector Solución inicial es: Entonces, el árbol que describe el proceso de ramificar y acotar
El vector Solución inicial es: Entonces, el árbol que describe el proceso de ramificar y acotar

Entonces, el árbol que describe el proceso de ramificar y acotar es el siguiente:

5 Bibliografía
5
Bibliografía

Winston, Wayne L.: Investigación de operaciones: Aplicaciones y Algoritmos. Capítulo 9, 9458—515. Ed. Iberoamérica. México D. F., México. (1994)

Brassard, Gilles.: Fundamentos de algoritmia. Capítulo 6, sección 6.5, 227—241. Ed. Prentice Hall. Madrid, España. (1997)