Desarrollar este problemas con el Programa PHP Simplex.

Buenas noches amigos de todo expertos el programa para resolver los ejercicios es el siguiente me piden los pantallazsos para persntar en mi trabajo

http://www.phpsimplex.com/simplex/page1.php?l=es&metodo=simplex&v=2&rt=3&Submit=Continuar 

2 Respuestas

Respuesta
1

Te dejo la definición del problema, ya que en el PHPSimplex deberías hacerlo vos para que puedas tomar las pantallas

1) Z = 8000A + 6000B (maximizar)

Restricciones

10A + 15B <= 40

6A + 7B <= 32

En el programa debes plantear un problema a maximizar de 2 variables y 2 restricciones

2) Z = 97000A +102000B + 107000C (maximizar)

Restricciones

0.6A + 0.7B + 0.8C <= 30

0.5A + 0.6B + 0.7C <= 25

0.8A + 0.9B + C <= 50

Acá debes plantear maximizar un problema de 3 variables con 3 restricciones

Salu2

Respuesta
1

·

·

¡Hola Oscar!

Me has dicho que necesitas los pantallazos. El planteamiento es como te indico Gustavo.

1)

Hay dos variables y la función objetivo es:

Z = 8000A + 6000B

Las restricciones son dos:

10A+15B <= 40

6A+7B <= 32

Cuando entres en esa página pincha en inicio pues ahí te pregunta la cantidad de variables y restricciones que pueden ser distintas de las que aparecen en el enlace que das.

En este caso escribes 2 en variables y 2 en restricciones y pulsas continuar. Si hay dos variables puedes elegir entre método del simplex y gráfico, yo voy a hacerlo con el método del simplex que es más general.

En la siguiente pantalla donde pone X_1 será como nuestra A y donde pone X_2 será como nuestra B, por ello escribiremos los datos así y pulsaremos continuar:

En la siguiente pantalla aparece el problema con las variables de holgura.

Y nos pregunta si queremos continuar (paso a paso) o ir a la solución directa. Vamos a darle a continuar para que vaya paso a paso y vemos qué dice y cómo lo hace. Eso es útil para aprender.

Bueno, en cada sitio llevan su librillo y no hay dos que hagan la misma tabla.

La variable que entra es la más positiva de la primera fila, luego es la P1 que tiene 8000 encima de ella.

Y lo normal es poner una columna al final (que no han puesto) donde se ponen los cocientes de los valores de la columna P0 entre los respectivos de la columuna P1 que es la variable que entra, así tendríamos:

40/10 = 4

32/6 = 5.333

Entonces elegimos el valor menos positivo luego el 4 que corresponde a la columna P3, esa es la que sale.

Le damos a continuar.

Y esto ya es el desmadre, da el resultado final sin explicar nada.

Para ver lo que hizo debemos pinchar donde pone mostrar/ocultar detalles. Y para poder capturarlo, si ocupa más de lo que se puede ver en pantalla, debes usar algún complemento, en mi caso ScreenGrab en Firefox. Pero como no lo tenía activado y me pide reiniciar el navegador para activarlo vamos a perder el trabajo, luego tendré que mandarte esto antes de activarlo. Después a lo mejor vendrá la típica chorrada de que la misma persona no puede contestar dos veces a la misma pregunta, ya veremos.

Vale, tras varios minutos ya hicieron visible la respuesta para poder continuarla, hay cosas que no cambian nunca. Ahora pongo la pantalla que queda al pinchar en mostrar/ocultar detalles.

Y la verdad es que no explica mucho lo que ha hecho, faltan columnas y filas respecto a otras tablas que he visto y tampoco explica por qué ya se ha terminado. Pero si te han pedido solucionarlo con este programa ya tienes la respuesta y todos los pantallazos que ha dado el programa.

Para el segundo es similar solo que son tres variables y tres restricciones como dice Gustavo. Yo prefiero trabajar con números enteros y simplificados, eso se consigue multiplicando por 10 las inecuaciones que puso Gustavo, es pasar todas la medidas a decímetros

La función objetivo que debe maximizarse es esta:

Z = 97000A +102000B + 107000C

Y las restricciones son:

6A + 7B + 8C <= 300

5A + 6B +7C <= 250

8A + 9B + 10C <= 500

Entonces pinchamos en Inicio y ponemos las variables (3) y restricciones (3)

Pinchamos en continuar y escribimos los datos. También podríamos simplificar entre 1000 la función objetivo pero no te voy a liar más.

Pinchamos en continuar y sale:

Pinchamos en Continuar aunque ya vimos antes que solo nos explicará el primer paso.

La que entra es la columna más negativa de la fila Z luego la P3 que tiene -107000

Para saber la que sale en la columna de P3 se dividen los valores de la columna P0 entre los respectivos de la columuna P1 que es la variable que entra, así tendríamos:

P4 ----> 300/8 = 37.5

P5 ----> 250/7 = 35.71

P6 ----> 500/10 = 50

Y se toma entre los positivos el menor que es 35.71, luego sale P5.

Luego se divide la fila de P5 entre 7 y a las otras se les restará está fila multiplicada por el valor de la columna P3, de esta forma todos los valores de esa columna serán 0 salvo el 1 del pivote.

Y el proceso se repite hasta que todos los valores de la fila Z sean no negativos.

Pinchando en continuar y seleccionando mostrar detalles tendremos esta pantalla.

Vemos que aun no ha terminado pues en la columna Z hay dos valores negativos. Como el mas negativo es -20571 la variable que entra es P1. Y formando la columna auxiliar de cocientes tenemos

P4 -----> 14.285714285714 / 0.28571428571429 = 49.99999999999826

P3 -----> 35.714285714286 / 0.71428571428571 = 50.0000000000007

P6 ----> 142.85714285714 / 0.85714285714286 = 166.666666666662

Yo diría que quitando errores de redondeo serían iguales el primer y segundo cociente por lo que daría igual, pero el programa eligió que la variable que sale es P4 luego ya está. Y se volverían a dividir toda la fila P4 entre 0.28571428571429 y restarla a las otras multiplicada por los valores que haya en la columna P1. Al pinchar continuar tendremos:

Como la fila Z tiene negativa P5 aun no termino, hacemos lo de todas las veces y en el siguiente paso queda esto.

Como la respuesta es muy tonta, pero eso es lo que dice dar el programa que hemos usado, lo que será tonto será el enunciado.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas