Está en la página 1de 13

UNIVERSIDAD DE ORIENTE

UNIVO

“HERRAMIENTAS COMPUTACIONALES PARA


RESOLVER PROBLEMAS DE PL.”

CATEDRA
Investigación de operaciones
DOCENTE
Yesenia Marisol Valle Benítez
ESTUDIANTES
Jefferson Darwin Santos Hernández
Argelia Guadalupe Vallecillo Moreno
Alexander Bladimir Cañas Romero
José Luis Marroquín Rinas

6 de febrero 2022
INTRODUCCIÓN

PL (programación lineal) es el campo de la programación matemática dedicado a maximizar


o minimizar (optimizar) una función lineal, denominada función objetivo, de tal manera que
las variables de dicha función estén sujetas a una serie de restricciones expresadas mediante
un sistema de ecuaciones o inecuaciones también lineales, corresponde a un algoritmo a
través del cual se resuelven situaciones verdaderas en las que se pretende identificar y
resolver dificultades para poder aumentar la productividad respecto a los recursos
principalmente los limitados y costosos, aumentando así los beneficios. El objetivo principal
de la Programación Lineal es optimizar, es decir, maximizar o minimizar funciones lineales
en varias variables reales con restricciones lineales (sistemas de inecuaciones lineales),
optimizando una función objetivo también lineal.

Hoy en día las herramientas tecnológicas nos facilitan muchas actividades en nuestra vida
personal, estudiantil y profesional; y los métodos de solución de problemas de programación
lineal no son la excepción, existe una variedad de herramientas tecnológicas para la
resolución de problemas de Programación Lineal unas herramientas más fáciles de usar que
otras y también más completas en la resolución de problemas: Es por eso que en el presente
trabajo de investigación presentaremos una serie de herramientas utilizadas en el día a día
para resolver problemas de programación lineal.

OBJETIVOS: GENERAL Y ESPECÍFICOS

Objetivo general.

• Utilizar una herramienta que nos facilite o nos ayude a resolver un problema de
programación lineal.

Objetivos específicos.

• Tomar 4 herramientas para resolver problemas de programación lineal.

• Describir los pasos a seguir de cada herramienta de programación lineal.

• Solucionar un problema de programación lineal utilizando una de las

herramientas siguiendo los pasos.


MARCO TEÓRICO

La Programación Lineal (PL) es un procedimiento o algoritmo matemático mediante el cual


se puede resuelve un problema indeterminado, formulado a través de ecuaciones lineales,
optimizando la función objetivo, también lineal.

La programación lineal trata la planeación de las actividades para obtener un resultado


óptimo, esto es, el resultado que mejor alcance la meta especificada entre todas las
alternativas de solución.

La programación lineal constituye un importante campo de la optimización por muchas


razones, muchos problemas prácticos de la investigación de operaciones pueden plantearse
como problemas de programación lineal.

La programación lineal es muy usada en las empresas, ya sea para aumentar al máximo los
ingresos o reducir al mínimo los costos de un sistema de producción.

Programación en PHPSimplex

Características

Es una herramienta online para resolver problemas de programación lineal. Su uso es libre y
gratuito. PHPSimplex es capaz de resolver problemas mediante el método Simplex, el
método de las Dos Fases, y el método Gráfico, y no cuenta con limitaciones en el número de
variables de decisión ni en las restricciones de los problemas.

Ventajas

No solo muestra los resultados finales sino también las operaciones intermedias. También
ofrece la solución directa para uso de profesionales. Otras de sus ventajas son que no precisa
de ningún lenguaje para enunciar el problema, ofrece una interfaz amigable, es cercano al
usuario, de manejo fácil e intuitivo, no es necesario instalar nada para poder usarlo, y está
disponible en varios idiomas

Desventajas

En el método gráfico no específica la región factible.


Metodología

Al ingresar nos encontramos con una pantalla que nos pide elegir el método de resolución,
las variables de decisión y las restricciones involucradas. El programa ofrece dos métodos de
resolución, Método Simplex y Método de las Dos Fases, para una demostración se deja en el
Método Simplex/Dos Fases.

Luego nos encontramos con dos cuadros de diálogos.


1- ¿Cuántas variables de decisión tiene el problema? En este campo se
ingresa el número de variables que contenga el problema a plantear.
2- ¿Cuántas restricciones? Determinar el número de restricciones según el
modelo matemático a resolver.

A continuación, aparece otra pantalla donde se debe definir si estamos maximizando o


minimizando el funcional. Además, debemos agregar el coeficiente que corresponde en cada
término. Luego hay que escribir las restricciones. Prestar especial atención no solo a los
números sino también a las desigualdades.
Luego de hacer clic en Continuar, aparecerá una pantalla donde se verá un resumen de los
datos que se han introducido. Si se presta atención a la parte de la derecha, se verá que el
programa ya agrega las llamadas variables slack.

Ahora hay dos opciones: ir directo a la tabla óptima (Solución directa) o seguir el método
tabla por tabla (Continuar). Esto dependerá de lo que necesitemos. Si se necesita ver detalle
por detalle el procedimiento, conviene ir viendo tabla por tabla. En caso contrario, quizás
resulte más rápido ir directo a la tabla final. La primera tabla se muestra de la siguiente
manera:

Se nota que se pinta el pivote, para saber qué variable entra y cuál sale en cada tabla. Si
hacemos clic nuevamente en Continuar se pasará a la siguiente tabla y así sucesivamente.
En un momento se llega a la tabla óptima o a un mensaje que explique que el sistema es
incompatible y que, por ende, no hay una solución óptima.
A continuación, se muestra la tabla actualizada e iniciar la fase dos:
En la tabla optima, PHPSimplex muestra un resumen de los resultados debajo.

Determinando la solución óptima.


Geogebra

GeoGebra es un software de matemáticas dinámicas libre para todas las áreas de las
matemáticas escolares (desde prebásica hasta educación superior). Su creador Markus
Hohenwarter, comenzó el proyecto en el año 2001, como parte de su tesis de maestría, en
la Universidad de Salzburgo, lo continuó en la Universidad Atlántica de Florida (2006-2008)
y en la actualidad, en la Johannes Kepler Universität, Austria.

Introduce las restricciones (hasta 6) en las celdas B2 a E7 Introduce la función a optimizar


en las celdas B8 y C8 (coeficientes de la x y la y, respectivamente) El programa dibuja el
área factible (en color rosa) y calcula los 15 puntos de intersección posibles entre 6 rectas
(celdas A9 a A23). Asimismo evalua en los vértices de la región factible la función lineal (en
color rojo, pasando por el centro) a optimizar (celdas B9 a B23) En las celdas C9 a D23 se
indica si es máximo o mínimo. Puedes hacer zoom para visualizar la región factible
(necesario si los términos independientes son altos)

Ejemplo usando la herramienta


Un granjero tiene que suministrar a sus vacas un mínimo de 30mg de vitamina A, 20mg de
vitamina B y 30mg de vitamina C. Dispone para ello de dos tipos de pienso, P1 y P2, cuyos
contenidos en mg por kilo de pienso está dado por la tabla;

Vit A Vit B Vit C

P1 3 4 5

P2 4 2 6

Si el kilogramo de P1 cuesta 100 céntimos y el de P2 sale a 120 céntimos, ¿cuántos liogramos


de cada tipo se deben mezclar para que el corte sea mínimo?

Solución

En primer lugar planteamos el problema de programación lineal, llamando x a los kilos de


pienso P1 e y a los kilos de P2:

Vit A Vit B Vit C Costo

P1 3x 4x 5x 100x

P2 4y 2y 6y 120x

>=30 >=20 >=30

Es decir: Ahora hacemos la representación gráfica y hallamos la región factible


Moviendo el deslizador, comprobamos que la función objetivo alcanza el punto óptimo en
con un valor de la función de 921 céntimos, es decir 9,21€ Si construimos la tabla, vemos
numéricamente los resultados para los puntos A, B y C:

X Y Z

A 0 10 1200

B 2 6 921

C 10 0 1000

La solución es usar 2kg de P1 y 6kg de P2 con un coste de 921.

Visual Math

Una aplicación reconocible en toneladas de compañías e industrias, Visual Math s engine


convierte datos en decisiones inteligentes en muy poco tiempo.

A los usuarios se les permite exponer primero los problemas más difíciles de su negocio
como modelos matemáticos. A continuación, el software tamiza automáticamente miles de
millones o, a veces, trillones de soluciones sugeridas para elegir la mejor.
El revolucionario software de programación lineal también viene con todos los elementos
esenciales para ayudar a realizar un análisis de sensibilidad completo a medida que se
desarrolla la solución.

La biblioteca de Visual Math está convenientemente respaldada por una colección de


interfaces intuitivas que facilitan a los principiantes la puesta en marcha poco después de la
descarga.

Las implementaciones sin problemas de algunos de los algoritmos más recientes significan
que se mantiene al día con las tendencias de la industria y puede manejar múltiples
problemas.

El proveedor también proporciona un soporte técnico impresionante durante el despliegue y


eventuales usos.

Gurobi

Gurobi Optimizer es, en resumen, uno de los más versátiles solucionadores de problemas de
optimización de LP.

Parte de la razón es que el código está construido para explotar el paralelismo de modo que
los usuarios puedan fundamentalmente ejecutar diferentes conjuntos de código paralelo
durante las pruebas de solución.

Además, sus rutinas de programación de planos de corte MIP (mixed-integer programming)


superan a las de los productos de la competencia y ayudan a capturar la naturaleza discreta
clave de varias decisiones.

Los desarrolladores también han ido más allá de lo ordinario y han incluido exclusivamente
excelentes clases de cortes para ayudar a simplificar el modelado.

La heurística MIP de este programa a menudo produce soluciones de la mejor calidad incluso
con problemas que involucran decenas de variables de decisión.

Además, sus algoritmos de barrera utilizan la tecnología más avanzada de la arquitectura


informática, lo que le permite mantener un funcionamiento de rendimiento de primera clase.
Por último, sus completas APIs son ligeras, modernas e intuitivas, y acortan la curva de
aprendizaje de los nuevos usuarios, además de aumentar la productividad.

GAMS (Sistema General de Modelado Algebraico)

GAMS es un software de modelado de programación lineal de alto nivel para la optimización


matemática y está diseñado para resolver rápidamente problemas de
maximización/minimización.

A través de su plataforma interactiva, GAMS permite a los usuarios formular fácilmente


modelos matemáticos casi similares a sus descripciones matemáticas.

La estructura adaptativa del programa y sus amplias características hacen que la alimentación
de datos y la subsiguiente formulación de problemas sea muy sencilla.

Los usuarios pueden, por lo tanto, concentrarse en el modelado, que en sí mismo es bastante
sencillo. De hecho, GAMS se pone manos a la obra en cuanto se entera de las
especificaciones exactas de las entidades y de las relaciones existentes, de modo quelos
operadores lo tienen muy fácil.

Como resultado, los modeladores pueden hacer varias cosas por sí mismos, convirtiendo a
GAMS en el favorito de los expertos en dominios.

El software también tiene una mezcla perfectamente equilibrada de elementos de


procedimiento y declarativos para que los usuarios puedan implementar métodos de
descomposición complejos. Esto lo hace muy relevante para los modelos que abordan
problemas inusuales que podrían causar problemas de rendimiento.

GAMS tiene dos listas de precios: una para usuarios académicos y otra para usuarios
comerciales.

CPLEX
ILOG CPLEX linear programming studio (From IBM) proporciona una de las formas más
rápidas de construir modelos de optimización empresariales y soporta soluciones para una
amplia gama de problemas de planificación y programación comunes.

Cuenta con un lenguaje de modelado descriptivo, un entorno de desarrollo totalmente


integrado y una gran cantidad de herramientas integradas, por lo que es un maestro en todo
el proceso de desarrollo de modelos.

Los modelos construidos suelen ser independientes de los datos aplicados, lo que significa
que los usuarios no necesitan modificar el código de modelo cuando trabajan en diferentes
instancias de un problema.

También se pueden combinar variables de decisión y varios elementos de datos para definir
expresiones avanzadas, funciones objetivas o restricciones

CPLEX también destaca por su funcionalidad de última generación y su robusto motor de


optimización que resulta muy útil en el análisis de los resultados indicados.

Incluso es accesible para aquellos que tienen dificultades para utilizar dispositivos de
señalización como el ratón, ya que proporciona métodos abreviados de teclado para diversos
procesos y tareas.

El precio comercial parece un poco alto, pero hay una versión de prueba gratuita.

LINGO

es otra herramienta integral diseñada para hacer que la construcción y resolución de modelos
de optimización sea rápida.

Al igual que CPLEX, LINGO es un paquete completo que incluye un lenguaje sólido para
expresar modelos de optimización prácticos, un entorno completo para la alimentación y la
edición de problemas, además de solucionadores integrados rápidos.

Las últimas versiones incluyen algunas mejoras destacadas, como la mejora de los
resolvedores de simplex para acelerar la transformación de los modelos lineales.

Este programa también es bastante rápido, incluso cuando es difícil predecir cuál de los dos
solucionadores, el primario y el de barrera, daría la solución más rápida.
El multi-core mejorado permite además a los usuarios asignar un core separado a cada
solucionador y ejecutarlo simultáneamente.

También está el solucionador de arranque múltiple que permite a los usuarios cotizar valores
objetivo para la función de objetivo actual.

También son dignas de mención las nuevas funciones de los gráficos para una mejor
presentación de los resultados, incluyendo las barras verticales y horizontales apiladas y los
gráficos Grantt.

En general, la aplicación es una apuesta segura si está buscando un software que pueda
proporcionar respuestas en el menor tiempo posible.

También podría gustarte