[Editar este párrafo] Descripción general de la programación lineal
La programación lineal es una rama importante de la investigación de operaciones que se ha estudiado anteriormente, se desarrolló rápidamente, se usa ampliamente y tiene métodos maduros. Es un método matemático auxiliar para que las personas realicen una gestión científica. En actividades económicas como la gestión económica, el transporte, la producción industrial y agrícola, la mejora de los efectos económicos es un requisito indispensable para las personas, y la mejora de los efectos económicos generalmente se realiza de dos maneras: Primero, aspectos técnicos mejoras, como mejorar los procesos de producción, utilizando nuevos equipos y nuevas materias primas. El segundo es la mejora de la organización y planificación de la producción, es decir, la disposición racional de los recursos humanos y materiales. Qué son los estudios de programación lineal: bajo. ciertas condiciones, la disposición racional de los recursos humanos y materiales y otros recursos para que El efecto económico sea el mejor. En términos generales, el problema de encontrar el valor máximo o mínimo de una función objetivo lineal bajo restricciones lineales se denomina colectivamente problema de programación lineal. . La solución que satisface las restricciones lineales se llama solución factible y el conjunto de todas las soluciones factibles se llama región factible. Las variables de decisión, las restricciones y las funciones objetivo son los tres elementos de la programación lineal.
[Editar este párrafo] La forma general del modelo matemático de problemas de programación lineal
(1) Lista las restricciones y la función objetivo (2) Dibujar la región factible representada por las restricciones (3) Encontrar la solución óptima y el valor óptimo de la función objetivo dentro de la región factible
[Editar este párrafo] Desarrollo de Lineal Programación
p>Los matemáticos franceses J.-B.-J. Fourier y C. Vallet-Pousin propusieron de forma independiente la idea de la programación lineal en 1832 y 1911 respectivamente, pero no llamaron la atención. En 1939, el matemático soviético Л.В Kantorovich planteó el problema de la programación lineal en el libro "Métodos matemáticos en la organización y planificación de la producción", pero no llamó la atención. En 1947, el matemático estadounidense G.B. Danzik propuso el modelo matemático general de programación lineal y el método simplex, un método general para la resolución de problemas de programación lineal, que sentó las bases de esta disciplina. En 1947, el matemático estadounidense J. von Neumann propuso la teoría dual, que creó muchos nuevos campos de investigación en programación lineal y amplió su alcance de aplicación y sus capacidades de resolución. En 1951, el economista estadounidense T.C. Koopmans aplicó la programación lineal al campo económico, por lo que él y Kantorovich ganaron el Premio Nobel de Economía en 1975. Después de la década de 1950, se llevaron a cabo una gran cantidad de estudios teóricos sobre programación lineal y surgieron una gran cantidad de nuevos algoritmos. Por ejemplo, en 1954 C. Lemki propuso el método simplex dual, en 1954 S. Gass, T. Sadie y otros resolvieron los problemas de análisis de sensibilidad y programación de parámetros de la programación lineal, y en 1956 A. Tucker propuso el teorema de relajación complementaria. En 1960, G.B. Danzik y P. Wolf propusieron el algoritmo de descomposición, etc. Los resultados de la investigación de programación lineal también promueven directamente la investigación de algoritmos de otros problemas de programación matemática, incluida la programación entera, la programación estocástica y la programación no lineal. Debido al desarrollo de las computadoras electrónicas digitales, han surgido muchos software de programación lineal, como MPSX, OPHEIE, UMPIRE, etc., que pueden resolver fácilmente problemas de programación lineal con miles de variables. En 1979, el matemático soviético L. G. Khachian propuso un algoritmo elipsoide para resolver problemas de programación lineal y demostró que es un algoritmo de tiempo polinomial. En 1984, el matemático indio N. Kamaka de Bell Telephone Laboratories en Estados Unidos propuso un nuevo algoritmo de tiempo polinomial para resolver problemas de programación lineal. Usar este método para resolver problemas de programación lineal solo toma 1/50 del tiempo usado por el método simplex cuando el número de variables es 5000. Ya se ha formado la teoría del algoritmo polinomial de programación lineal. Después de la década de 1950, el ámbito de aplicación de la programación lineal siguió ampliándose. Métodos para establecer modelos de programación lineal
[Editar este párrafo] Establecer modelos de programación lineal
Generalmente hay tres pasos para establecer un modelo matemático a partir de problemas reales 1. Según la influencia a; ser logrado Encontrar las variables de decisión con base en los factores de propósito 2. Determinar la función objetivo con base en la relación funcional entre las variables de decisión y la ubicación para lograr el propósito; 3. Determinar las restricciones que las variables de decisión deben satisfacer con base en el restricciones sobre las variables de decisión. El modelo matemático establecido tiene las siguientes características: 1. Cada modelo tiene varias variables de decisión (x1, x2, x3..., xn), donde n es el número de variables de decisión. Un conjunto de valores de una variable de decisión representa una alternativa y la variable de decisión generalmente no es negativa.
2. La función objetivo es una función lineal de la variable de decisión. Dependiendo del problema específico, puede ser maximización (max) o minimización (min). Ambas se denominan colectivamente optimización (opt). 3. Las restricciones también son funciones lineales de las variables de decisión. Cuando la función objetivo del modelo matemático que obtenemos es una función lineal y las restricciones son ecuaciones o desigualdades lineales, llamamos al modelo matemático modelo de programación lineal. Ejemplo: Modelo de disposición de producción: una fábrica quiere organizar la producción de dos productos I y II. Se conocen el tiempo de equipo necesario para producir una unidad de producto y el consumo de dos materias primas A y B, como se muestra en la tabla de la derecha. La columna de la tabla es La capacidad diaria del equipo y el suministro de materia prima son limitados. La fábrica puede obtener una ganancia de 2 yuanes al producir una unidad del producto I y una ganancia de 3 yuanes al producir una unidad del producto II. ¿Se organizará la producción para obtener el mayor beneficio? Solución: 1. Determinar las variables de decisión: Sean x1 y x2 las cantidades de producción de los productos I y II respectivamente 2. Definir la función objetivo: maximizar la ganancia, es decir, encontrar el valor máximo de 2x1+3x2; restricciones a cumplir: Limitaciones del equipo: x1+2x2≤8 Límites de la materia prima A: 4x1≤16 Límites de la materia prima B: 4x2≤12 Requisitos básicos: x1, x2≥0 Si se usa max para reemplazar el valor máximo y s.t. (abreviatura de sujeto a) se utiliza para reemplazar las restricciones, el modelo que se puede recordar es: max z=2x1+3x2 s.t x1+2x2≤8 4x1≤16 4x2≤12 x1,x2≥0
[Editar este párrafo] Solución a la programación lineal
Resolver problemas lineales El método básico para los problemas de planificación es el método simplex. Ahora existe un software estándar para el método simplex, que puede resolver problemas de programación lineal con más de 10.000 restricciones. y variables de decisión en una computadora electrónica. Para mejorar la velocidad de resolución de problemas, existen métodos simplex mejorados, métodos simplex duales, métodos duales primitivos, algoritmos de descomposición y varios algoritmos de tiempo polinomial. Para problemas simples de programación lineal con solo dos variables, también se pueden utilizar métodos gráficos para resolverlos. Este método sólo es adecuado para problemas de programación lineal con sólo dos variables. Se caracteriza por ser intuitivo y fácil de entender, pero tiene poco valor práctico. Algunos conceptos básicos de programación lineal se pueden entender a través de soluciones gráficas. Para problemas generales de programación lineal: Min z=CX S.T. AX =b X>=0 donde A es una matriz m*n. Si la fila A tiene rango completo, puede encontrar la matriz base B y encontrar la solución base inicial. Sea N la matriz no básica correspondiente a B. Entonces el problema de planificación 1 se puede reducir a: problema de planificación 2: Min z=CB XB+CNXN S.T B XB+N XN = b (1) XB >= 0, XN >= 0 (2) (1) Ambos lados se multiplican. por B -1, obtenemos XB + B-1 N XN = B-1 b. Al mismo tiempo, de la fórmula anterior obtenemos XB = B-1 b - B-1 N Min z=CB B-1 b. + ( CN - CB B-1 N ) XN S.T. XB+B-1N XN = B-1 b (1) XB >= 0, XN >= 0 (2) Sea N:= B-1N, b:= B -1 b, ζ= CB B-1b, σ= CN - CB B-1 N, entonces el problema anterior se transforma en un problema de planificación de la forma 4: Min z= ζ + σ XN S.T XB+ N XN = b (1) XB. >= 0, XN >= 0 (2) En la transformación anterior, si la forma 4 del problema de planificación se puede encontrar tal que b>=0, esta forma se denomina forma de solución básica inicial. La transformación anterior equivale a multiplicar toda la matriz extendida (incluidos C y A) por la matriz aumentada. Entonces la atención se centra en elegir B para encontrar el CB correspondiente. Si hay una solución básica inicial, si σ>= 0, entonces z>=ζ. Al mismo tiempo, sea XN = 0, XB = b, que es una solución factible, y en este momento z = ζ, que alcanza el valor óptimo. Por tanto, en este momento se puede obtener la solución óptima.
Si σ >= 0 no es cierto, se puede utilizar la transformación de tabla simplex. Hay componentes <0 en σ. Entre los números de variables de decisión correspondientes a estos componentes negativos, el más pequeño es j. El vector columna correspondiente a j en N es Pj. Si Pj <=0 no es cierto, entonces hay al menos un componente ai de Pj y j es positivo. Multiplique ambos lados de la restricción (1) en el problema de planificación 4 por la matriz T. T= luego, después de la transformación, la variable de decisión xj se convierte en la variable base, reemplazando la variable base original. Para hacer que T b >= 0 y T Pj=ei (donde ei representa el i-ésimo vector unitario), necesitamos: l ai, j>0. l βq+βi*(-aq,j/ai,j)>=0, donde q!=i. Es decir, βq>=βi/ ai,j * aq,j. n Si aq,j<=0, la fórmula anterior debe ser verdadera. n Si aq,j>0, entonces se requiere βq / aq,j >=βi/ ai,j. Por lo tanto, se debe seleccionar i para minimizar βi/ai,j. Si este método determina varios subíndices, se elige el que tiene el subíndice más pequeño. Después de la conversión, se obtiene la forma del problema de planificación 4 y se continúa juzgando σ. Como hay un número finito de soluciones básicas, el bucle debe poder escapar en un número finito de pasos. Si para cada i, ai,j<=0, el valor óptimo es ilimitado. Si no se puede encontrar la solución básica inicial, no hay solución. Si A no es de rango completo, simplifique hasta que A sea de rango completo, luego vaya a si A es de rango completo.
[Editar este párrafo] Aplicación de la programación lineal
En diversas actividades de gestión de una empresa, como planificación, producción, transporte, tecnología y otras cuestiones, la programación lineal se refiere a Entre las combinaciones de condiciones restrictivas, seleccionar el método de cálculo más razonable y establecer un modelo de programación lineal para obtener los mejores resultados.