- Ejemplo 1
Una empresa desea planificar su producción diaria de dos artículos A y B. La empresa puede disponer de un máximo de 12 horas diarias de mano de obra. Cada unidad de A requiere 3 horas, mientras que cada unidad de B requiere 2. Por otro lado, la producción requiere un input I del que la empresa puede disponer como máximo de 10 unidades diarias. Cada unidad de A requiere una unidad de I mientras que cada unidad de B requiere 2 unidades de I. ¿Cual es la máxima producción diaria que puede conseguir la empresa?, ¿que cantidad debe producir para ello de cada artículo?
- Definimos el modelo matemático:
Sea X1 el producto A y X2 El producto B a producir;
F(x1, x2)=x1+x2; es la función a maximizar.
- Sujeto a restricciones: 3x1+2x2<=12; tiempo diario de mano de obra disponible
X2>=0; condición para el producto B
- Código:
/*Definir función o modelo*/
/*Función objetivo a maximizar*/
/*f(x1,x2)=x1+x2 */
max:x1+x2;
/*Definiendo limites*/
C1:3x1+2x2<=12; C2: x1+2x2<=10; C3: x1>=0;
C4: x2>=0;
/*Fin de los parámetros*/
- Donde C1, C2,…Cn son condiciones.
- Del cual obtenemos una producción diaria de 5.5 con 1 y 4.5 artículos respectivamente.
- Ejemplo 2.
Una empresa produce dos tipos de producto A y B, a partir de una única materia prima M de la que sólo se cuenta con 18 unidades. Para producir una unidad de A se necesitan tres de M y 2 unidades de M por unidad de B. Por problemas de almacenamiento, no se puede producir más de 4 unidades de A ni más de 6 unidades de B. Si los precios de venta son 3 y 5 dólares respectivamente, cuánto se debe producir de A y B para que la ganancia sea máxima.
- Modelo matemático.
x1: unidades de A a producir
x2: unidades de B a producir
Max = 2x1 + 5x2 :función objetivo (Maximizar)
- Sujeto a restricciones:
x2 >=0:cantidad valida de B
- Código:
/*Función objetivo a maximizar*/
/*f(x1,x2)=x1+x2 */
max:x1+x2;
/*Definiendo limites*/
C1:3x1+2x2<=12; C2:x1+2x2<=10; C3:x1>=0;
C4:x2>=0;
/*Fin de los parámetros*/
- Del cual obtenemos 2 y 6 respectivamente con una ganancia maxima de $ 36.0
- Dichos resultados pueden variar según el número de iteraciones procesadas, en este caso llegamos al máximo valor requerido.
Si no desean descargar o compilar un programa, dejo un enlace a una herramienta online denominada PHPSimplex que resuelve ecuaciones lineales sin limite de variables ni restricciones.
Capturas del programa: