Mochiller
Mochiller
Mochiller
Definición
A continuación se define formalmente el problema.3 Supongamos que tenemos
<
∞{\displaystyle 1\leq q_{i}<\infty }.
Cada tipo de ítem i tiene un beneficio asociado dado por vi y un peso (o volumen)
wi. Usualmente se asume que el beneficio y el peso no son negativos. Para
simplificar la representación, se suele asumir que los ítems están listados en
orden creciente según el peso (o volumen).
Por otro lado se tiene una mochila, donde se pueden introducir los ítems, que
soporta un peso máximo (o volumen máximo) W.
maximizar
∑
=
1
tal que
∑
=
1
y
0
≤
.
{\displaystyle {\begin{array}{rl}{\text{maximizar }}&\sum _{i=1}^{n}v_{i}x_{i}\\{\
text{tal que }}&\sum _{i=1}^{n}w_{i}x_{i}\leq W\\{\text{y}}&0\leq x_{i}\leq q_{i}.\
end{array}}}
Si
=
1
{\displaystyle q_{i}=1} para
=
1
,
2
,
.
.
.
,
Simplificaciones y generalizaciones
Problema de la mochila simple
Artículo principal: Problema de la mochila simple
Observar que en un problema de la mochila 0-1, si para cada tipo de ítem el
beneficio y los pesos son idénticos (vi=wi), entonces el problema quedaría
formulado de la siguiente forma
maximizar
∑
=
1
tal que
∑
=
1
∈
{
0
,
1
}
.
{\displaystyle {\begin{array}{rl}{\text{maximizar}}&\sum _{i=1}^{n}v_{i}x_{i}\\{\
text{tal que}}&\sum _{i=1}^{n}w_{i}x_{i}\leq W\\{\text{y}}&x_{i}\in \{0,1\}.\
end{array}}}
Por tanto si existe un vector xi tal que
∑
=
1
>
∑
=
1
−
1
∀
maximizar
∑
=
1
tal que
∑
=
1
,
∑
=
1
para todo
1
≤
∈
{
0
,
1
}
para todo
1
≤
.
{\displaystyle {\begin{array}{rl}{\text{maximizar}}&\sum _{i=1}^{k}\sum _{j\in
N_{i}}v_{ij}x_{ij}\\{\text{tal que}}&\sum _{i=1}^{k}\sum _{j\in N_{i}}w_{ij}x_{ij}\
leq W,\\&\sum _{j\in N_{i}}x_{ij}=1{\text{ para todo }}1\leq i\leq k\\{\
text{y}}&x_{ij}\in \{0,1\}{\text{ para todo }}1\leq i\leq k{\text{ y }}j\in N_{i}.\
end{array}}}
Problema de la mochila múltiple
Si en un problema de la mochila 0-1 tenemos "n" ítems y m mochilas con capacidades
Wi entonces tenemos el problema de la mochila múltiple.
Un caso especial del problema de la mochila múltiple es cuando los beneficios son
iguales a los pesos y todas las mochilas tienen la misma capacidad. Entonces se le
llama problema de la múltiple suma de subconjuntos.
Métodos de resolución
Este artículo o sección sobre matemáticas necesita ser wikificado, por favor,
edítalo para que cumpla con las convenciones de estilo.
Este aviso fue puesto el 23 de enero de 2012.
Este problema se ha resuelto tradicionalmente mediante programación lineal entera.
Existe otra forma de resolver este tipo de problema, a través de los denominados
algoritmos voraces. Una aproximación voraz consiste en que cada elemento a
considerar se evalúa una única vez, siendo descartado o seleccionado, de tal forma
que si es seleccionado forma parte de la solución, y si es descartado, no forma
parte de la solución ni volverá a ser considerado para la misma. Con este método no
siempre es posible dar una solución a un problema.
,
…
,
)
{\displaystyle (x_{i},\ldots ,x_{n})} tales que sea máximo.
Algoritmos voraces
a) Aplicación del método:
Maximizar
∑
=
1
sujeto a
∑
=
1
∈
{
0
,
1
}
con
=
1
,
…
,
Algoritmos genéticos
Consisten en métodos adaptativos de optimización que tratan de hallar (xi,...,xn)
tales que [Sumatoria (bi*xi) desde i= 1 hasta n] sea máximo. Pueden usarse para
resolver problemas de búsqueda y optimización. Se basan en el proceso genético de
los organismos vivos, por imitación de este proceso, los Algoritmos Genéticos son
capaces de ir creando soluciones para problemas del mundo real. La evolución de
dichas soluciones hacia valores óptimos del problema depende en buena medida de una
adecuada codificación de las mismas. Para utilizar un algoritmo genético hacen
falta tres elementos: