Ejercicios resueltos de programación matemática - Respuesta 2
En primer lugar, añadimos a todas las inecuaciones una variable
de holgura:
De este sistema podemos tomar como solución básica :
x1 = x2 = x3 ; x4
= 6 ; x5 = 6 ; x6 = 2 → Fb
= 0
En estas condiciones podemos construir la tabla del algoritmo
simples, teniendo en cuenta las siguientes consideraciones:
1ª) Se construye una primera fila con una celda menos
que las restantes y se coloca en ella, a partir de la tercera
celda, los coeficientes de las variables de la función a minimizar,
en orden creciente de los subíndices y haciendo nulos los coeficientes
de las variables de holgura.
2ª) Se construye una segunda fila colocando debajo
de cada uno de los números anteriores la variable correspondiente
y a continuación tantas filas como condiciones restrictivas
se tengan, anotando sus coeficientes en la columna correspondiente
a cada variable.
3ª) Si hay n condiciones restrictivas, en las dos
segundas columnas de la tabla y desde la tercera hasta la n+1
fila se colocan los coeficientes de las variables no nulas en
la solución básica y los valores de dichas variables.
4ª) En la fila n+1 y a partir de la tercera columna,
se colocan los valores Cq - Fq obtenidos
de restar al elemento m-ésimo de la primera fila el producto
ai.vmi.
5ª) En la celda correspondiente a la segunda fila,
tercera columna, se coloca la suma de todos los productos de
todos los pares de la tercera consideración (este valor corresponde
al que toma la función a minimizar en la situación presente).
Mas detalles a lo largo del texto.
A partir de las consideraciones anteriores podemos construir la
tabla que viene a continuación. En ella buscaremos el llamado
elemento pivote, que estará en la intersección de la columna cuya
última fila sea más negativa y la fila que haga mínimo al cociente
del elemento de la tercera columna con el de la considerada. Si
hay varios elementos que cumplen dicha condición, se escoge uno.
Observamos que el valor C
2 - F
2 es el valor
mas pequeño de todos los C
q - F
q y además
negativo, por lo que no estamos en el punto óptimo y el vector
a introducir en la base es el a
2.
En este caso no podemos aplicar los criterios de salida para sacar
un vector de la base pero elegimos el a
4. De ese modo,
el pivote es v
12 = 1. Todos los elementos de la fila
del pivote quedan divididos por él y todos los de su columna se
anulan excepto él. Para los demás elementos v
ij tomamos
:
Para facilitar estas transformaciones se puede proceder por filas
ya que en este caso se tendría, por ejemplo para la segunda:
En este caso v
22 = 1 y no se anula el factor correspondiente
(salvo que sea nulo v
1j) pero podría ocurrir que v
22
fuera nulo y ello simplificaría las operaciones.
Para los elementos de la tercera columna que deban transformarse
tomamos:
Esto salvo para el elemento que nos da el valor de la función
(el primero de la columna) en la situación presente, que se calcula
del mismo modo que para la tabla anterior. Para ello se cambian
antes los elementos de la segunda columna escribiendo en su lugar
el coeficiente según la función a minimizar, de cada una de las
variables de la base. Finalmente, los elementos C
q
- F
q se toman como en el caso de la primera tabla.
Vemos que el valor C
3 - F
3 es negativo por
lo que estamos en el punto óptimo y el vector a introducir en
la base es el a
3. Para determinar el vector que debe
salir consideramos el criterio:
De ese modo el pivote para la nueva tabla es v
32 =
1 y con los pasos ya explicados se tendrá:
Tenemos que todos los C
q - F
q son positivos
por lo que hemos llegado a la solución óptima para la que se tiene:
a1 = 0 (no está en la base) ; a3
= 0 ; a2 = 6 →
Fmin(x 1, x 2, x 3)
= - 120
EJERCICIOS RESUELTOS DE PROGRAMACIÓN MATEMÁTICA
Y OPTIMIZACIÓN PARA INGENIEROS Y TÉCNICOS