“Conocimiento software>Ingeniería del Software

Cómo utilizar programación lineal entera

2012/8/14
programación lineal entera es la ciencia de modelar un problema que ni minimiza o maximiza una función objetivo lineal , bajo una serie de restricciones expresadas como desigualdades lineales . Cuando resuelto completamente , la solución al programa lineal entero garantiza la solución óptima al problema . Sin embargo , la complejidad de las escalas problema exponencialmente con el tamaño del problema . Por lo tanto , puede tomar un largo tiempo para llegar a la solución final. Alternativamente , el problema puede ser resuelto parcialmente y diferentes heurística puede ser explorada para obtener una solución sub - óptima en un tiempo más corto . Cosas que necesitará
solucionador de programación lineal de computadora con suficiente memoria y capacidad de procesamiento
Ver Más instrucciones
formulación y resolución de programas lineales
1

Decida si el problema es un problema de " maximización " o un problema de " minimización " . Un problema de maximización trata de encontrar una solución tal que se maximiza la función objetivo . Un problema de minimización trata de encontrar una solución en la que se reduce al mínimo la función objetivo . Por ejemplo , el problema de encontrar el camino más corto entre dos puntos es un problema de minimización . Por otra parte , el problema de llevar el número máximo guijarros de diferentes tamaños en una botella es un problema de maximización .
2

Decidir las variables necesarias para la formulación . Elegir el conjunto adecuado de variables es necesario reducir al mínimo la complejidad del problema , y, correspondientemente, llegar a la solución más rápido . Por lo general , cada entidad cuyo valor afecta a la solución final es una variable.
3

Modelo de la función objetivo . La función objetivo se modela como una suma de productos de variables y su impacto en la solución final. Por ejemplo , si el problema es reducir al mínimo la distancia entre dos nodos en un gráfico , cada conexión entre dos nodos será una variable que toma un valor de 0 o 1 , y su contribución a la función objetivo será la distancia entre los nodos . En este caso , la variable puede ser llamado "X (i, j ) , " donde " i" y " j" son dos nodos en el gráfico , y la distancia entre los dos nodos se pueden " V (i, j ) . " X (i, j ) será 1 si la conexión es parte de la ruta final entre los dos nodos. Por lo tanto , la función objetivo será minimizar la suma de V (i, j ) * X (i, j ), donde la suma se extiende a todas las conexiones.
4

Configure las restricciones. Las restricciones deben capturar todas las restricciones impuestas por el problema. Para el ejemplo del camino más corto , existen las siguientes limitaciones :

X ( i, j ) puede ser 0 o 1 . Por lo tanto , X ( i, j ) debe ser mayor que o igual a 0 , y X ( i, j ) debe ser menor o igual a 1 .

Si se elige conexión X ( i, j ) , exactamente una conexión desde el nodo " j" a algún otro nodo distinto de " i" debe ser elegido. Por lo tanto , X ( i, j ) debe ser mayor que o igual a la suma de todas las variables de tipo X ( j , k ) , donde " k " no es igual a " i ".

Una conexión desde el nodo de inicio debe ser seleccionado. Por lo tanto , la suma de X ( n, k ) debe ser 1 , donde "n " es el nodo de inicio . Del mismo modo , suma de X ( k , m ) debe ser 1 , donde " m" es el nodo de finalización .
5

Modelo el problema , ya sea en el sistema de programación matemática ( MPS ) formato , o el Lineal formato de programación ( LP) .
6

o comprar un solver comercial como FICO o CLPEX , o descargar un programa de solución libre como GLPK . Tenga en cuenta los solucionadores libres son mucho más lentos que los solucionadores comerciales y pueden no ser adecuados para la solución de grandes problemas.
7

Si el solucionador no converge a la solución definitiva en un plazo razonable , trate de heurística . Una heurística podría ser la eliminación de las restricciones enteras sobre las variables y las variables aproximadas al entero más cercano para obtener una solución sub - óptima.

Ingeniería del Software
¿Qué pregunta hace el software que hará que use el sistema de archivos FAT32?
¿Qué es un archivo flac y qué programa lo abre?
Cómo cortar Disparos en Pipe Con Solidworks
¿Qué es un software personalizado?
Cómo integrar archivos de SolidWorks para una Asamblea
Cómo crear Escaleras en SketchUp
Cómo habilitar DKIM
¿Qué procesos se necesitan para dar forma a las estrategias de diseño alternativas para un sistema?
Conocimiento de la computadora © http://www.ordenador.online