Programación Lineal - Tipo transporte

 Resolución para ejercicios de tipo transporte en programación lineal.

Mediante programación en c++, se creó un programa con el fin de resolver casos de tipo transporte utilizando el método de la esquina noroeste. 

Siendo una versión beta del programa las capacidades del programa se reducen a calcular el equilibrio utilizando los valores dados según las restricciones de oferta y demanda.

 El link para su descarga estará al final del tutorial.

¿Cómo utilizar el programa? 

1.- Al iniciar el programa pedirá su nombre y solo debe ingresarlo. Posteriormente el programa mostrará un menú para iniciar el método o salir del programa en el cual se selecciona la opción escribiendo el número que la opción deseada tiene a su lado y pulsando enter.


2.- Luego de seleccionar la opción de iniciar  el programa pedirá la cantidad de columnas y filas con un máximo de 10 en ambas. El usuario debe organizar los datos de manera que estos puedan introducirse en una matriz.
.-Ejemplo de esto puede verse claramente aquí:
Por lo tanto es necesario que el usuario pueda organizar los datos en caso de no estarlo.


3.-Durante el siguiente paso el usuario debe ingresar el contexto para todas las columnas, filas y luego establecer un contexto para los valores dentro de la matriz. Es decir, tomando el anterior ejemplo mostrado, podríamos decir que las columnas son "Ciudades", las filas son "Plantas" y el contexto de los valores dentro podría ser "Costo".


4.-Habiendo terminado con la contextualización el programa procederá a mostrar la matriz vacía y pedirá al usuario usuario llenarla con los valores deseados. La matriz se llenará espacio por espacio hasta estar llena.


5.-Al terminar con el proceso el programa generará una descripción de la matriz en pantalla con los contextos agregados anteriormente. También preguntará si se desea continuar o no, lo que debe responderse con 1 para responder SI, y 0 para responder NO. En caso de responder el programa simplemente quedará en modo de espera.


6.-Posteriormente el programa pedirá la selección del método para la creación de la función objetiva, a lo que respectivamente se debe responder con el número a un lado de la opción deseada.

En caso de seleccionar la opción de valores personalizados se le pedirá al usuario la cantidad de valores a formular (no puede ser mayor a la cantidad de filas multiplicado por la cantidad de columnas), luego se le pedirá al usuario ingresar la posición deseada para formular de manera que, primero deberá insertarse la columna y luego la fila. 

EJ: Columna 1, Fila 1 (identificada como A) generará A1.

Luego de seleccionar la posición se le preguntará el valor por el cual multiplicará, y luego se repetirá el proceso por la cantidad de valores que el usuario haya decidio formular. Al terminar el proceso se mostrará la formula creada.

En caso de seleccionar la opción de Todos los valores simplemente se formularán todos los valores de la matriz en conjunto con sus identificaciones. 

Ej Valor: 8, Identificación: A1, entonces MinZ=(8*A1).



7.-Independientemente de la selección anterior de usuario el programa procederá a preguntar la cantidad de restricciones de demanda a lo que se debe responder con una cantidad menor o igual a la cantidad de columnas existentes para luego mostrar la matriz y pedir la columna deseada que debe ser desde la 1 en adelante.


 Luego se le preguntará que con que operador desea trabajar para la formulación de la restricción demanda, respectivamente, debe responderse con el número a un lado de la opción deseada.


Luego de eso se preguntará el valor de la restricción.


Posterior a esta entrada se repetirá el proceso una vez por cada restricción de demanda que el usuario haya decidido ingresar. El programa pedirá hacer el mismo proceso exacto para las restricciones de oferta con la única diferencia de que al ser oferta, la cantidad de restricciones no puede ser mayor a la cantidad de filas, y se seleccionará la fila deseada en vez de la columna.

8.-Para finalizar el programa mostrará el equilibrio y una pequeña conclusión según el caso dado. Determinará la sumatoria de todas las ofertas, de todas las demandas y la diferencia entre ambos, tomando en cuenta si oferta es mayor a demanda o al revés.


Con esto finaliza este pequeño tutorial para el manejo de nuestro programa.

ATT. Grupo nº 1.
Jaisel Herrera
Maria Gil
Stefano Strippoli

Comentarios