Está en la página 1de 16

UNIVERSIDAD NACIONAL DE TRUJILLO

FACULTAD DE CIENCIAS FISICAS Y MATEMATICAS

ESTUDIANTES DE INGENIERIA INFORMATICA

MONOGRAFIA
PROBLEMA DE LA MOCHILA EN PROGRAMACION LOGICA

AUTORES:
QUISPE MORENOS JULISSA VANESSA

RODRIGUEZ RODRIGUEZ EVELIN LEYDY

RODRIGUEZ SANDOVAL LOURDES CAROLINA

SALDAA RAMOS EDINSON AUGUSTO

TRUJILLO-PERU

2014

1
INDICE

DEDICATORIA. 3

INTRODUCCION . 4

1. MARCO TEORICO

1.1. CAPITULO I : . 5

1.1.1. HISTORIA DEL PROBLEMA DE LA MOCHILA

1.1.2 DEFINICION PROBLEMA DE LA MOCHILA

1.2. CAPITULO II 6

1.2.1 CASOS EN LOS QUE SE PRESENTA EL PROBLEMA DE LA MOCHILA

1.2.2 METODOS DE RESOLUCION

1.3. CAPITULO III 9

1.3.1 PLANTEAMIENTO DEL PROBLEMA DE LA MOCHILA

1.3.2 PSEUDOCODIGO

1.4. CAPITULO IV .. 11

1.4.1 APLICACIONES A LA SOCIEDAD

1.4.2 CODIGO EN PROLOG

CONCLUSIONES.. 12

ANEXOS.. 13

BIBLIOGRAFIAS.. 14

2
A todos los estudiantes de ciencia
y tecnologa, ya que gracias a la
investigacin y esfuerzo que
damos, lograremos el progreso y
desarrollo de la humanidad.

Adems tambin a nuestro


profesor Arturo Daz Pulido de
programacin lgica por la gua y
la orientacin prestado para as
lograr el objetivo de este trabajo.

3
INTRODUCCION

El presente trabajo est diseado de forma prctica y sencilla para entender

el problema de la mochila en programacin lgica, haciendo uso de los

conceptos, uso, el desarrollo a travs de ejemplos y la importancia dando

una breve descripcin de cada punto planteado.

El problema de la mochila recoge una situacin que se presenta con cierta

frecuencia en los ambos 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.

Al mismo tiempo el tema especfico sobre la mochila para esta monografa

permite conocer y saber la solucin usando reglas y hechos adems de sus

aplicaciones.

4
MARCO TEORICO
CAPITULO I
HISTORIA PROBLEMA DE LA MOCHILA :

El problema de la mochila es uno de los 21 problemas NP-completos de Richard

Karp, establecidos por el informtico terico en un famoso artculo de 1972.

Ha sido intensamente estudiado desde mediados del siglo XX y se hace referencia a

l en el ao 1897, en un artculo de George Mathews Ballard.

Si bien la formulacin del problema es sencilla, su resolucin es ms compleja.

Algunos algoritmos existentes pueden resolverlo en la prctica para casos de un

gran tamao. Sin embargo, la estructura nica del problema, y el hecho de que se

presente como un subproblema de otros problemas ms generales, lo convierten

en un problema frecuente en la investigacin.

DEFINICION PROBLEMA DE LA MOCHILA:

El problema de la mochila, comnmente abreviado por KP (del ingls Knapsack

problem) es un problema de optimizacin combinatoria.

Busca la mejor solucin entre un conjunto de posibles soluciones a un problema.

Modela una situacin anloga al llenar una mochila, incapaz de soportar ms de un

peso determinado, con todo o parte de un conjunto de objetos, cada uno con un peso

y valor especficos.

Los objetos colocados en la mochila deben maximizar el valor total sin exceder el peso

mximo.

5
CAPITULO II

CASOS EN LOS QUE SE PRESENTA EL PROBLEMA DE LA MOCHILA:

a) Problema de la mochila simple:


Llamado problema de la mochila supercreciente.

Es un tipo de problema de la mochila (problema NP-completo) al que le aplican

una serie de condiciones que hacen que pueda ser planteado como un problema de

la suma de subconjuntos (problema NP-completo) .

Si tiene solucin, esta ser nica.

Observar que en un problema de la mochilla 0-1, si para cada tipo de tem el

beneficio y los pesos son idnticos (vi=wi), entonces el problema quedara

formulado de la siguiente forma:

Se verifica:

Resolucin:

La solucin es muy fcil debido a que la secuencia S es una secuencia

supercreciente:

Se recorren los elementos de la mochila de mayor a menor comprobando si dicho

valor es menor que T.

Si es mayor, ese valor no estar en la suma y por tanto en la posicin

correspondiente del vector solucin xi habr un 0.

6
En caso contrario tendr un 1 y se continuar la resolucin con los restantes

elementos de la mochila para el problema T-Sj.Para este tipo de problemas, en el

caso de que exista la solucin, esta ser nica.

Aplicacin:

A la criptografa

b) Problema de la mochila de mltiple eleccin:


Si en un problema de la mochila 0-1 los tems estn subdivididos en k clases,

denotadas por Ni, y exactamente un tem tienen que ser tomado de cada clase

c) Problema de la mochila mltiple:

Si en un problema de la mochila 0-1 tenemos n tems y m mochilas con

capacidades Wi .

Un caso especial del problema de la mochila mltiple es cuando los beneficios

son iguales a los pesos y todas las mochilas tienen la misma capacidad.

Se le llama problema de la mltiple suma de subconjuntos.

7
Mtodos de resolucin
Algoritmos voraces:

Consiste en introducir en la mochila segn orden decreciente de utilidad

(beneficio) los diversos objetos.

En una primera etapa, se adicionarn unidades enteras hasta que, por motivo de

capacidad, no sea posible seguir introduciendo enteros y haya que aadir la

porcin que quepa del siguiente objeto.

Concepto de solucin ptima:

Teorema:

si se ordenan los objetos de forma de decreciente en cuanto a su relacin

(utilidad/ponderacin = bi/ci) y se introducen en la mochila enteros en este orden

mientras quepan y cuando no quede capacidad para uno entero se aade la

porcin que an tenga cabida el resultado al que se llega es una solucin ptima.

Algoritmo goloso:
Mientras no se haya excedido el peso de la mochila, seguir agregando a la mochila
i..

- .mayor beneficio vi.

- .tenga menor peso wi.

- .tenga mayor rentabilidad vi/wi.

8
TIPO DE BUSQUEDA:

Tambin realiza una bsqueda con retroceso (Backtracking)

Esta tcnica es tambin llamada bsqueda con vuelta atrs, el termino se utiliza

para la bsqueda primero en profundidad que elige valores para ua variable a la

vez(solo genera un sucesor a la vez) y vueeve atrs cuando una variable no tiene

ningn valor legal para asignarse.

La idea es encontrar la mejor combinacin en un momento determinado, por eso

se dice que este tipo de algoritmo es una bsqueda en profundidad. Durante la

bsqueda, si se encuentra una alternativa incorrecta, la bsqueda retrocede hasta

el paso anterior y toma la siguiente alternativa. Cuando se han terminado las

posibilidades, se vuelve a la eleccin anterior y se toma la siguiente opcin. Si no

hay ms alternativas la bsqueda falla. De esta manera, se crea un rbol implcito,

el en que cada nodo es un estado de la solucin.

9
CAPITULO III
PLANTEAMIENTO DEL PROBLEMA DE LA MOCHILA:
En esta imagen se tiene una mochila con una capacidad de 15 kg que se puede
llenar con cajas de distinto peso y valor, el problema planteado seria que cajas
elegir de modo de maximizar las ganancias y no exceder a 15 kg del peso
permitido.

Matemticamente aqu se muestra como se resuelve este problema de


la mochila:

n objetos: i= 1..n {

Problema: cargar una mochila de capacidad W, maximizando el valor de su carga.

Version I : los objetos se pueden fraccionar = fraccin xi, 0 Xi 1

el objeto i contribuye
en ,al peso de la carga, limitado por w.
en , al valor de la carga , que se quiere maximizar.

Hiptesis , sino la solucin es trivial.


en optimo , .

Mejor objeto restante?

10
Ejemplar de problema:
n= 5, w =100

1 2 3 4 5
Vi 20 30 66 40 60
wi 10 20 30 40 50

Seleccin:

1. Objeto ms valioso? Vi max


2. Objeto ms ligero? wi min
3. Objeto ms rentable? vi/wi max

1 2 3 4 5
vi 20 30 66 40 60
wi 10 20 33 40 50
Vi/wi 2.0 1.5 2.2 1.0 1.2 Objeto ( )
Xi(vi max) 0 0 1 0.5 1 146
Xi( wi min) 1 1 1 1 0 156
Xi(vi/wi max) 1 1 1 0 0.8 164

PSEUDOCODIGO:

funcin Mochila 1( w[ 1..n], v[1..n] ,w) : objetos[1..n]


para i :=1 hasta n hacer
x[i] := 0 ; { la solucin se construye en x}
peso :=0;
{bucle voraz:}
mientras peso <= w hacer
i : =el mejor objeto restante; {1}
si peso+w[i] <= w entonces
x[i] := 1;
peso : = peso+w[i]
sino
x[i] := (w-peso)/w[i];
peso := w;
devolver x
fin funcin

11
CAPITULO IV
APLICACIONES A LA SOCIEDAD:

En la vida real, se utiliza para modelar diferentes situaciones:

en los sistemas de apoyo a las fianzas: para encontrar el mejor equilibrio

entre el capital y rendimiento financiero.

en la carga del barco o avin: todo el equipaje debe ser llevado, sin ser

sobrecargado.

en el corte de materiales: para minimizar las cadas.

El problema de la mochila siempre se explica mejor por medio de un ejemplo.

Supongan que son un ladrn que acaba de entrar a una bveda, para esto ustedes

solo llevan consigo una mochila que tiene una capacidad limitada, en este caso

de c cantidad de kilos. Ahora ante sus ojos se encuentran con n objetos cada uno

con un valor v y un peso p.Lamentablemente usted no puede llevar todos los

objetos as que debe de escoger aquella combinacin de objetos tal que la suma de

sus valores sea mxima y la suma de sus pesos no rebase la capacidad de la

mochila.

En robtica, permite resolver problemas de fabricacin para minimizar el nmero

de desplazamientos para conseguir realizar un nmero determinado de

perforaciones en una plancha o en un circuito impreso.

12
CONCLUSIONES

El problema de la mochila se puede dar solucin mediantes algoritmos

voraces y algoritmos.

La implementacin se puede desarrollar en distintos lenguajes de

programacin como en este caso hemos usado para hallar la solucin

programacin lgica mediante hechos y reglas.

Para lograr la optimizacin, aunque este problema suele representar

restricciones presupuestarias, los objetos que son seleccionados deben

equiparse a un beneficio econmico para llevar a cabo ciertas acciones

13
ANEXOS

14
Apndice A

Fuente pgina de google:

http://es.wikibooks.org/wiki/Programaci%C3%B3n_din%C3%A1mica/Problema

_de_la_mochila

Apndice B
http://www.forosdelweb.com/f130/aporte-problema-mochila-963496/

http://www.todoexpertos.com/categorias/ciencias-
eingenieria/matematicas/respuestas/418995/el-problema-de-la-mochila

15
BIBLIOGRAFIA
Richard M. Karp (1972). Reducibility Among Combinatorial Problems. En R. E.

Miller y J. W. Thatcher (editores). Complexity of Computer Computations. Nueva

York: Plenum. pp. 85103.

Volver arriba G.B. Mathews, On the partition of numbers, Proceedings of the

London Mathematical Society, 28:486-490, 1897.

Volver arriba Eric Gossett,"Discrete Mathematics with Proof". Segunda edicin.

John Willey 2009.

http://es.wikipedia.org/wiki/Problema_de_la_mochila

Jorge Rami Aguirre,"Aplicaciones criptogrficas: libro gua de la asignatura

seguridad informtica". Universidad Politcnica, Escuela Universitaria de

Informtica. Enero 1998.

16

También podría gustarte