Un comerciante necesita conocer la cantidad de productos que debe adquirir, de modo que maximice las utilidades, y el valor de mercancias no exceda su capital.
import ag_lbpt.util as util
#--------------------------------------------------------------------------------------------------------------------------------------
# INPUT
#--------------------------------------------------------------------------------------------------------------------------------------
# ArchicoMOCHILAcsv = 'moc_12v.csv' : Archivo de datos (Producto, Valor) en formato csv
# PesoMochila = 20000 : Capital límite
# Iteraciones = 5 : 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 : [30,30,30,30,30,30,30,30,30,30,30,30] : 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.agMOCHILAutilidad('moc_12v.csv', 20000, 5, 50, 150, 0.5, 'UnPunto', 'UnPunto',
False, False, False, 12, [0,0,0,0,0,0,0,0,0,0,0,0], [30,30,30,30,30,30,30,30,30,30,30,30],
['int','int','int','int','int','int','int','int','int','int','int','int'],
2)
print('Solucion: ', Solucion)
print('Costo: ', Costo)
Solucion: [1, 0, 0, 7, 0, 23, 3, 16, 8, 17, 28, 28] Costo: 2318.0
AG.GraficaCosto()
display(util.muestraMOCHILAValor(Producto))
| Producto | Valor | Cantidad | Importe | |
|---|---|---|---|---|
| 0 | Laptop | 4000 | 1 | 4000 |
| 1 | Camara fotográfica | 2600 | 0 | 0 |
| 2 | Casaca | 600 | 0 | 0 |
| 3 | Botella de agua | 7 | 7 | 49 |
| 4 | Libro | 60 | 0 | 0 |
| 5 | Auriculares | 180 | 23 | 4140 |
| 6 | Kit de auxilio | 110 | 3 | 330 |
| 7 | Chocolate | 18 | 16 | 288 |
| 8 | Zapatilla | 350 | 8 | 2800 |
| 9 | Linterna LED | 50 | 17 | 850 |
| 10 | Repelento de insectos | 28 | 28 | 784 |
| 11 | Cargador solar | 200 | 28 | 5600 |
| 12 | CANTIDAD E IMPORTE DE LA MOCHILA | None | None | 18841 |
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)