Problema de embalaje de productos optimizando el valor de envio, sin exceder el peso de la MOCHILA.
import ag_lbpt.util as util
#--------------------------------------------------------------------------------------------------------------------------------------
# INPUT
#--------------------------------------------------------------------------------------------------------------------------------------
# ArchicoMOCHILAcsv = 'moc_12vp.csv' : Archivo de datos (Producto, Valor, Peso) en formato csv
# PesoMochila = 80 : Peso límite de la mochila
# Iteraciones = 15 : cantidad de veces que se ejecuta el AG
# Generaciones = 50 : Cantidade de generaciones que itera el AG
# Poblacion = 150 : Cantidad de pobladores del AG
# ProbMutacion = 0.5 : Probabilidad de mutación
# TipoMutacion = 'UnPunto' : El individuo mutante se consigue por permutación de un atributo
# TipoCruce = 'UnPunto' : la operación cruce se genera en un punto
# GenUnico = False : Los genes puedenn tener valores repetidos
# IniciFijo = False : El primer gen puede tomar cualquier valor
# IniciFinFijo = False : El perimer y último gene puede tomar cualquier valor
# N = 10 : Cantidad de ciudades
# MinCromosoma = [0,0,0,0,0,0,0,0,0,0,0,0] : Mínimo valor de los genes (mínima cantidad de productos)
# MaxCromosoma : [9,9,9,9,9,9,9,9,9,9,9,9] : Máximo valor de los genes (máxima cantidad de productos)
# TipoDato : ['int','int','int','int','int','int','int','int','int','int','int','int'] : Tipo de dato
# de los genes, 'int' número entero; 'float' número real
# PobElite = 2 : Indidivuos de la élite
#--------------------------------------------------------------------------------------------------------------------------------------
# OUTPUT
#--------------------------------------------------------------------------------------------------------------------------------------
# AG : Objeto algoritmo genético
# Solución : Cromosoma solución al problema
# Costo : Costo que implica dicha solución
# Producto : Productos para los que se evalua la solución, que contiene como ultima fila la solución de AG
#--------------------------------------------------------------------------------------------------------------------------------------
AG, Solucion, Costo, Producto = util.agMOCHILA('moc_12vp.csv', 80, 15, 50, 150, 0.5, 'UnPunto', 'UnPunto',
False, False, False, 12, [0,0,0,0,0,0,0,0,0,0,0,0], [9,9,9,9,9,9,9,9,9,9,9,9],
['int','int','int','int','int','int','int','int','int','int','int','int'],
2)
print('Solucion: ', Solucion)
print('Costo: ', Costo)
print(Producto)
Solucion: [8, 9, 8, 2, 6, 9, 7, 8, 7, 3, 9, 4]
Costo: 0.09586578789694428
Producto Valor Peso Cantidad Importe
0 Laptop 4000 3.0 8 32000
1 Camara fotográfica 2600 2.0 9 23400
2 Casaca 600 4.0 8 4800
3 Botella de agua 7 1.0 2 14
4 Libro 60 0.5 6 360
5 Auriculares 180 0.8 9 1620
6 Kit de auxilio 110 2.5 7 770
7 Chocolate 18 0.3 8 144
8 Zapatilla 350 2.5 7 2450
9 Linterna LED 50 0.6 3 150
10 Repelento de insectos 28 0.5 9 252
11 Cargador solar 200 2.0 4 800
12 PESO E IMPORTE DE LA MOCHILA None 80.0 None 66760
AG.GraficaCosto()
display(util.muestraMOCHILAValorPeso(Producto))
| Producto | Valor | Peso | Cantidad | Importe | |
|---|---|---|---|---|---|
| 0 | Laptop | 4000 | 3.000000 | 8 | 32000 |
| 1 | Camara fotográfica | 2600 | 2.000000 | 9 | 23400 |
| 2 | Casaca | 600 | 4.000000 | 8 | 4800 |
| 3 | Botella de agua | 7 | 1.000000 | 2 | 14 |
| 4 | Libro | 60 | 0.500000 | 6 | 360 |
| 5 | Auriculares | 180 | 0.800000 | 9 | 1620 |
| 6 | Kit de auxilio | 110 | 2.500000 | 7 | 770 |
| 7 | Chocolate | 18 | 0.300000 | 8 | 144 |
| 8 | Zapatilla | 350 | 2.500000 | 7 | 2450 |
| 9 | Linterna LED | 50 | 0.600000 | 3 | 150 |
| 10 | Repelento de insectos | 28 | 0.500000 | 9 | 252 |
| 11 | Cargador solar | 200 | 2.000000 | 4 | 800 |
| 12 | PESO E IMPORTE DE LA MOCHILA | None | 80.000000 | None | 66760 |
Luis Beltran Palma Ttito, luis.palma@unsaac.edu.pe (autor)
Dennis Iván Candia oviedo, dennis.candia@unsaac.edu.pe (coautor)
Carlos Ramón Quispe Onofre, carlos.quispe@unsaac.edu.pe(coautor)
Willian Zamalloa Paro, willian.zamalloa@unsaac.edu.pe(coautor)
José Mauro Pillco Quispe, jose.pillco@unsaac.edu.pe(coautor)