Programacion Lineal
-
Upload
oscar-torres-ortega -
Category
Documents
-
view
225 -
download
6
Transcript of Programacion Lineal
PROOGRAMACION LINEAL
1
Alumnos:
- Ibarra Sánchez, Gyula Antonio.
- Torres Ortega, Oscar Fernando.
PROOGRAMACION LINEAL
Agradecimientos:
Queremos agradecer a Dios y nuestras familias por el apoyo constante que nos
brindan cada día y un especial agradecimiento al Lic. Ramón La Rosa Figueroa
quien con su conocimiento y experiencia como docente y como expositor y orador
en clases magistrales nos ha permitido enriquecer este trabajo grupal.
2
PROOGRAMACION LINEAL
INDICE Pag.
Historia…………………………………………………….………………………5Usos………………………………..……………………………………………...6Formulario normalizado…………………………………………………….…..6
Ejemplo……………………………..…………………………………….6Forma Aumentada (forma floja) ……………………………..……….…...….9
Ejemplo……………………………..…………………………………….10Dualidad……………………………..…………………………………………...10
Ejemplo……………………………..…………………………………….11Otro ejemplo……………………………..……………………………….12
Dualidades Cubrir-embalaje……………………………..…………………….15Ejemplos……………………………..……………………………………16
Holgura complementaria……………………………..…………………………16Teoría……………………………..……………………………..…………………17
Existencia de soluciones óptimas……………………………………...17Vértices óptimos (y los rayos) de poliedros……………………………17
Algoritmos……………………………..…………………………………………..18Algoritmos de intercambio de Base..………………………………...…19
Algoritmo Simplex de Dantzig..………………………………….19Algoritmo Criss-cross..……………………………………………19Algoritmo de muestreo Cónica de Serang……………………..19
Punto de Interior..……………………… ..……………………………….20Algoritmo elipsoide, siguiente Khachiyan……………………..20Algoritmo proyectivo de Karmarkar..……………………………20Los algoritmos de seguimiento de camino..…………………..20
Comparación de los métodos de punto interior frente a los algoritmos simplex..………………………..………………….…21
Problemas abiertos y en los trabajos..…………………………………………22Incógnitas enteros..……………………… ..…………………………………….24Programas lineales Integral..……………………… ..………………………….25Soluciones y lenguajes de scripting (programación) ..……………………...26Conclusiones…………………………………………………………………….29Referencias..…………………………………………..…………………………30Anexos..……………………………………………… ..…………………………32
3
PROOGRAMACION LINEAL
Introducción
La programación lineal (LP, u optimización lineal) es un método matemático para
la determinación de una forma de lograr el mejor resultado (como máximo
beneficio o de coste más bajo) en un determinado modelo matemático para
algunos lista de requisitos representados como relaciones lineales. La
programación lineal es un caso particular de programación matemática
(optimización matemática).
Más formalmente, la programación lineal es una técnica para la optimización de un
lineal de la función objetivo, sin perjuicio de la igualdad lineales y desigualdades
lineales limitaciones. Su región factible es un poliedro convexo, que es un conjunto
definido como la intersección de un número finito de espacios de media, cada uno
de los cuales está definido por una desigualdad lineal. Su función objetivo es una
verdadera valorada función afín definida en este poliedro. Una programación lineal
algoritmo encuentra un punto en el poliedro que esta función tiene el valor más
pequeño (o grande) si existe un punto.
Programas lineales son problemas que se pueden expresar en forma canónica:
Donde x representa el vector de variables (por determinar), c y b son vectores de
coeficientes (conocidos), A es A (conocida) de matriz de coeficientes, y ()T es la
matriz de transposición. La expresión de maximizarse o minimizarse se denomina
función objetivo (c T x en este caso). Las desigualdades A x ≤ b y x ≥ 0 son las
limitaciones que se especifican un politopo convexo sobre las que la función
objetivo debe ser optimizado. En este contexto, dos vectores son comparables
cuando tienen las mismas dimensiones. La programación lineal se puede aplicar a
diversos campos de estudio. Se utiliza en los negocios y la economía, pero
también puede ser utilizado para algunos problemas de ingeniería
4
PROOGRAMACION LINEAL
HISTORIA
El problema de la solución de un sistema de desigualdades lineales se remonta
por lo menos en lo que Fourier, después de que el método de Fourier-Motzkin
eliminación de su nombre. El método de programación lineal fue desarrollado por
primera vez por LeonidKantorovich en 1939. LeonidKantorovich desarrolló los
problemas de programación lineal más tempranos en 1939 para su uso durante la
Segunda Guerra Mundial para planificar los gastos y beneficios con el fin de
reducir los costos al ejército y aumentar las pérdidas de la enemigo. El método se
mantuvo en secreto hasta 1947, cuando George B. Dantzig publicó el método
símplex y John von Neumann desarrolló la teoría de la dualidad como una
solución de optimización lineal, y lo aplicó en el campo de la teoría de juegos.
Posguerra, muchas industrias han encontrado su uso en la planificación diaria.
El problema de programación lineal fue mostrado por primera vez para ser
resolubles en tiempo polinómico por LeonidKhachiyan en 1979, pero un avance
teórico y práctico más importante en el campo se produjo en 1984, cuando
NarendraKarmarkar introdujo un nuevo método de punto interior para resolver
problemas de programación lineal.
Ejemplo original de Dantzig fue encontrar la mejor asignación de 70 personas a 70
puestos de trabajo. La potencia de cálculo necesaria para probar todas las
permutaciones para seleccionar la mejor asignación es enorme; el número de
posibles configuraciones excede el número de partículas en el universo
observable. Sin embargo, sólo se necesita un momento para encontrar la solución
óptima al plantear el problema como un programa lineal y aplicando el algoritmo
simplex. La teoría detrás de la programación lineal reduce drásticamente el
número de posibles soluciones óptimas que deben ser controlados.
5
PROOGRAMACION LINEAL
USOS
La programación lineal es un campo considerable de optimización por varias
razones. Muchos de los problemas prácticos en la investigación de operaciones se
pueden expresar como problemas de programación lineal. Algunos casos
especiales de programación lineal, como el flujo de la red y los problemas de flujo
multiservicio problemas se consideran lo suficientemente importante como para
haber generado mucha investigación sobre algoritmos especializados para su
solución. Un número de algoritmos para otros tipos de problemas de optimización
funciona mediante la resolución de problemas de PL como sub-problemas.
Históricamente, las ideas de programación lineal han inspirado muchos de los
conceptos centrales de la teoría de optimización, tales como la dualidad, la
descomposición, y la importancia de la convexidad y sus generalizaciones. Del
mismo modo, la programación lineal se utiliza mucho en la microeconomía y la
gestión de la empresa, tales como la planificación, la producción, el transporte, la
tecnología y otros temas. A pesar de los problemas de gestión modernos están en
constante cambio, la mayoría de las empresas desean maximizar los beneficios o
minimizar los costos con recursos limitados. Por lo tanto, muchas cuestiones
pueden caracterizarse como problemas de programación lineal.
1. Formulario normalizado
Formulario estándar es la forma usual y más intuitiva de describir un problema de
programación lineal. Se compone de las siguientes tres partes:
Una función lineal a ser maximizada
Por ejemplo,
6
PROOGRAMACION LINEAL
Restricciones del problema de la siguiente forma
por ejemplo,
Las variables no negativas
3.1 por ejemplo,
El problema se expresa generalmente en matriz de forma, y luego se convierte en:
Otras formas, tales como problemas de minimización, problemas con restricciones
sobre las formas alternativas, así como los problemas relacionados con negativas
las variables siempre se pueden volver a escribir en un problema equivalente en
forma estándar.
Ejemplo:
Supongamos que un agricultor tiene un pedazo de tierra de cultivo, por ejemplo L
km2, para ser plantada con trigo o cebada o alguna combinación de los dos. El
agricultor tiene una cantidad limitada de fertilizantes, F kilogramos, y el insecticida,
P kilogramos. Cada kilómetro cuadrado de trigo requiere de F1 kilogramos de
fertilizantes y P1 kilogramos de insecticida, mientras que cada kilómetro cuadrado
de la cebada requiere F2 kilogramos de fertilizantes y P2 kilogramos de
insecticida. Sea S1 será el precio de venta del trigo por kilómetro cuadrado, y S2 7
PROOGRAMACION LINEAL
será el precio de venta de la cebada. Si denotamos el área de tierra plantada con
trigo y cebada de x1 y x2, respectivamente, entonces los beneficios se puede
maximizar mediante la elección de los valores óptimos de x1 y x2. Este problema
se puede expresar con el siguiente problema de programación lineal en forma
estándar:
Maximizar (Maximizar los ingresos, los ingresos es la
"función objetiva").
Sujeto
a: (Límite de la superficie total)
(Límite de fertilizantes)
(Límite de insecticida)
(No se puede plantar un área negativa).
Que en forma de matriz se convierte en:
8
PROOGRAMACION LINEAL
Forma Aumentada (forma floja)
Problemas de programación lineal se deben convertir en forma aumentada antes
de ser resuelto por el algoritmo simplex. Esta forma presenta no negativos
variables de holgura para reemplazar las desigualdades con igualdades en las
restricciones. Los problemas pueden ser escritos en la siguiente matriz de bloque
de formulario:
Donde xs son las variables de holgura recientemente introducidas, y Z es la
variable a ser maximizada.
4.1 Ejemplo :El ejemplo anterior se convierte en la siguiente forma aumentada:
Donde X3, X4, X5son variables (no negativas) flojos, lo que supone en este
ejemplo el área no utilizada, la cantidad de fertilizante no utilizado y la cantidad de
insecticida sin usar.
En forma matricial esto se convierte en:9
PROOGRAMACION LINEAL
Maximizar Z:
5. Dualidad
Artículo principal: Dualidad (optimización)
Cada problema de programación lineal, se refiere como un primordial problema, se
puede convertir en un problema doble, que proporciona un límite superior para el
valor óptimo del problema primordial. En forma matricial, podemos expresar el
primal problema como:
Maximizar c T x sujetas a A x ≤ b, x ≥ 0;con el correspondiente simétrica problema
dual,Minimizar b T y sujeto a una T y ≥ c, y ≥ 0.
Una formulación alternativa es primordial:
Maximizar c T x sujetas a A x ≤ b;con el correspondiente asimétrica problema dual,
Minimizar b T y sujeto a una T y = c, y ≥ 0.
10
PROOGRAMACION LINEAL
Hay dos ideas fundamentales de la teoría de la dualidad. Uno de ellos es el hecho
de que (con el doble simétrico) el dual de un programa lineal dual es el programa
lineal primario inicial. Además, cada solución factible para un programa lineal da
un salto en el valor óptimo de la función objetivo de su doble. La débil
dualidad teorema afirma que el valor de la función objetivo de la doble en cualquier
solución factible es siempre mayor que o igual que el valor de la función objetivo
de la primitiva en cualquier solución factible. El fuerte dualidad teorema afirma que
si el primario tiene una solución óptima, x * , entonces el doble también tiene una
solución óptima, Y * , y c T x * = b T Y * .
Un programa lineal también puede ser ilimitada o no factible. La dualidad teoría
nos dice que si el primario no está acotado, entonces el dual es inviable por la
debilidad del teorema de la dualidad. Del mismo modo, si el dual es ilimitada, a
continuación, la primitiva debe ser no factible. Sin embargo, es imposible, tanto
para el dual y el primal ser no factible.
5.1 Ejemplo:
Revisar el ejemplo anterior del agricultor que puede crecer el trigo y la cebada con
la prestación de definición de algunos L tierra, F fertilizantes y P insecticida.
Supongamos ahora que Y los precios unitarios de cada uno de estos medios de
producción (insumos) son establecidas por una junta de planificación. El trabajo de
la Junta de Planificación es minimizar el coste total de la adquisición de las
cantidades fijas de los insumos mientras que proporciona al agricultor con una
baja en el precio unitario de cada uno de sus cultivos (salidas), S1 para el trigo y
S2 para la cebada. Esto corresponde al siguiente problema de programación
lineal:
11
PROOGRAMACION LINEAL
Que en forma de matriz se convierte en:
El problema primal trata de cantidades físicas. Con todas las entradas disponibles
en cantidades limitadas, y suponiendo que los precios unitarios de todas las
salidas que se conoce, qué cantidad de salidas para la producción a fin de
maximizar los ingresos totales? El problema dual se ocupa de los valores
económicos. Con garantías del piso en los precios unitarios de producción, y
suponiendo que la cantidad disponible de todas las entradas que se conoce, lo
que de entrada esquema de precios por unidad para fijar el fin de minimizar el
gasto total?
Para cada variable en el espacio primordial corresponde una desigualdad para
satisfacer en el espacio dual, tanto en un índice por tipo de salida. Para cada
desigualdad para satisfacer en el espacio primordial corresponde una variable en
el espacio dual, tanto en un índice por tipo de entrada.12
PROOGRAMACION LINEAL
Los coeficientes que ataban las desigualdades en el espacio primordial se utilizan
para calcular el objetivo en el espacio dual, las cantidades de entrada en este
ejemplo. Los coeficientes utilizados para calcular el objetivo en el espacio
primordial vinculados a las desigualdades en el espacio dual, los precios unitarios
de salida en este ejemplo.
Tanto el primario y el doble problema hacen uso de la misma matriz. En el espacio
primordial, esta matriz expresa el consumo de cantidades físicas de los insumos
necesarios para producir cantidades conjunto de salidas. En el espacio dual,
expresa la creación de los valores económicos asociados con las salidas de los
precios unitarios de entrada set.
Desde cada desigualdad puede ser sustituido por una igualdad y una variable de
holgura, esto significa cada variable primaria corresponde a una variable de doble
holgura, y cada variable de doble corresponde a una variable de holgura primaria.
Esta relación nos permite hablar acerca de holgura complementaria.
5.2 Otro ejemplo
A veces, uno puede encontrar lo más intuitivo para obtener el programa dual sin
mirar a la matriz del programa. Considere el siguiente programa lineal:
13
PROOGRAMACION LINEAL
Tenemos m + n las condiciones y todas las variables son no
negativas. Definiremos m + n dual variables: y j y s i. Obtenemos:
Como se trata de un problema de minimización, nos gustaría obtener un doble
programa que es una cota inferior del primal. En otras palabras, nos gustaría que
la suma de todo lado derecho de las restricciones para ser el máximo bajo la
condición de que para cada variable primal la suma de suscoeficientes no superan
su coeficiente en la función lineal. Por ejemplo, x 1 aparece en n + 1
limitaciones. Si sumamos los coeficientes de sus limitaciones
"obtenemos un 1,1 y 1 + un 1,2 y 2 + ...+ un 1, n y n + f 1 s 1 . Esta suma debe
ser como máximo c 1. Como resultado se obtiene:
14
PROOGRAMACION LINEAL
Tenga en cuenta que asumimos en nuestros pasos cálculos que el programa está
en forma estándar. Sin embargo, cualquier programa lineal puede ser
transformada en la forma estándar y que por lo tanto no es un factor limitante.
6. Cubriendo las dualidades de embalaje.
Un LP que cubre es un programa lineal de la forma:
Minimizar: b T y ,
Sujeto a: Un T y ≥ c , y ≥ 0 ,
tal que la matriz A y los vectores b y c son no negativos.
El dual de un LP que cubre es un LP de embalaje, un programa lineal de la forma:
Maximizar: c T x ,
Sujeto a: A x ≤ b , x ≥ 0 ,
tal que la matriz A y los vectores b y c son no negativos.
15
PROOGRAMACION LINEAL
6.1 Ejemplos:
Cubrir y embalaje LPs comúnmente surgen como una relajación de programación
lineal de un problema de combinatoria y son importantes en el estudio de los
algoritmos de aproximación. Por ejemplo, las relajaciones LP del problema de
empaquetamiento de conjuntos, el problema conjunto independiente, y el
problema de correspondencia son embalaje de discos. Las relajaciones LP del
problema de cobertura conjunto, el problema de cobertura de vértices, y el
problema de conjunto dominante también están cubriendo LPs.
Encontrar una coloración fraccional de un gráfico que es otro ejemplo de un LP
que cubre. En este caso, no es una restricción para cada vértice de la gráfica y
una variable para cada conjunto independiente de la gráfica.
Holgura complementaria
Es posible obtener una solución óptima a la doble cuando sólo se conoce una
solución óptima a la primitiva usando el teorema de holgura complementaria. El
teorema:
Supongamos que x = ( x 1 , x 2 , ..., x n ) es primordial factible y que Y =
( y 1 , y 2 , ..., y m ) es de doble factible. Sea ( w 1 , w 2 , ..., w m ) denotan las
correspondientes variables de holgura primal, y dejar que ( z 1 , z 2 , ..., z n )
denotan las correspondientes variables de holgura duales. A
continuación, x y y son óptimas para sus respectivos problemas si y sólo si
Así que si la i -ésima variable de holgura de la primaria no es cero, entonces la i -
ésima variable de la doble es igual a cero. Del mismo modo, si el j -ésima variable
de holgura de la doble no es cero, entonces el j -ésimo de variable de la primitiva
es igual a cero.
16
PROOGRAMACION LINEAL
Esta condición necesaria para el óptimo transmite un principio económico muy
simple. En forma estándar (al maximizar), si hay holgura en un recurso primordial
limitado (es decir, no son "sobras"), entonces las cantidades adicionales de
recursos que deben tener ningún valor. Del mismo modo, si hay holgura en el dual
(sombra) Precio de no negatividad requisito restricción, es decir, el precio no es
igual a cero, entonces debe haber escasez de suministros (no "sobras").
Teoría
Existencia de soluciones óptimas
Geométricamente, las restricciones lineales definen la región factible, que es una
convexa poliedra. Una función lineal es una función convexa, lo que implica que
cada mínimo local es un mínimo global, de manera similar, una función lineal es
una función cóncava, lo que implica que cada máximo local es un máximo global.
Una solución óptima no tiene por qué existir, por dos razones. En primer lugar, si
dos restricciones son incompatibles, entonces no existe una solución factible: Por
ejemplo, las restricciones x ≥ 2 y x ≤ 1 no se pueden satisfacer de manera
conjunta, en este caso, se dice que el LP es inviable . En segundo lugar, cuando
el politopo es ilimitada en la dirección del gradiente de la función objetivo (donde el
gradiente de la función objetivo es el vector de los coeficientes de la función
objetivo), entonces no se alcanza el valor óptimo.
Vértices óptimos (y rayas) de poliedros
De lo contrario, si existe una solución factible y si el (lineal) de la función objetivo
está limitada, a continuación, el valor óptimo se alcanza siempre en el límite de
nivel-conjunto óptimo, por el principio del máximo para funciones convexas
(alternativamente, por el mínimo principio para cóncava funciones): Hay que
recordar que las funciones lineales son convexas y cóncavas. Sin embargo,
algunos problemas tienen soluciones óptimas distintas: Por ejemplo, el problema
de encontrar una solución factible a un sistema de desigualdades lineales es un 17
PROOGRAMACION LINEAL
problema de programación lineal en el que la función objetivo es la función de cero
(es decir, la función constante de tomar el valor cero en todas partes): Para este
problema de viabilidad con la función de cero para su función objetiva, si hay dos
soluciones distintas, entonces cada combinación convexa de las soluciones es
una solución.
Los vértices del politopo también se llaman soluciones básicas factibles. La razón
de esta elección del nombre es la siguiente. Deje que d denota el número de
variables. Entonces, el teorema fundamental de las desigualdades lineales implica
(para problemas posibles) que por cada vértice x *de la región factible LP, existe
un conjunto de d (o menos) las restricciones de desigualdad de la LP de tal
manera que, cuando tratamos a esos d limitaciones como igualdades, la única
solución es x * .De esta manera podemos estudiar estos vértices a través de mirar
a ciertos subconjuntos del conjunto de todas las limitaciones (un conjunto
discreto), más que el continuo de soluciones de PT. Este principio se basa
el algoritmo simplex para resolver programas lineales.
Algoritmos
En un problema de programación lineal, una serie de restricciones lineales
produce una convexa región factible de posibles valores para las variables. En el
caso de dos variables esta región es en la forma de una convexa polígonasencillo.
9.1 Algoritmos de intercambio de Bases
9.1.1 Algoritmo Simplex de Dantzig
El algoritmo simplex, desarrollado por George Dantzig en 1947, resuelve
problemas de PL mediante la construcción de una solución factible en un vértice
del politopo y luego caminando por un sendero en los bordes de la politopo a
vértices con valores no decrecientes de la función objetivo hasta que un óptimo se
alcanza con seguridad. En muchos problemas prácticos, " estancamiento "se
produce: Muchas pivotes se hacen sin un aumento en la función objetivo. En
18
PROOGRAMACION LINEAL
problemas prácticos raros, las versiones habituales del algoritmo simplex puede
"ciclo" de hecho Para evitar los ciclos, los investigadores desarrollaron nuevas
normas que pivotan.
En la práctica, el simple algoritmo es muy eficiente y se puede garantizar para
encontrar el óptimo global si ciertas precauciones contra el ciclismo se toman. El
algoritmo simplex ha sido demostrado para resolver problemas "al azar" de
manera eficiente, es decir, en un número cúbico de pasos, que es similar a su
comportamiento en problemas prácticos.
Sin embargo, el algoritmo simplex tiene un comportamiento pobre del peor caso:
Klee y Minty construyeron una familia de problemas de programación lineal para
que el método simplex toma un número de pasos exponencial en el tamaño del
problema. De hecho, desde hace algún tiempo no se sabía si el problema de
programación lineal era resoluble en tiempo polinomio, es decir, de la clase de
complejidad P.
9.1.2 Criss-cross algoritmo
Al igual que el algoritmo simplex de Dantzig, el algoritmo cruzada es un algoritmo
de base de intercambio que pivota entre las bases. Sin embargo, el algoritmo
entrecruzado no es necesario mantener la viabilidad, pero puede pivotar en lugar
de una base viable para una base no factible. El algoritmo cruzada no tiene
polinomio tiempo la complejidad de la programación lineal. Ambos algoritmos
visitan todos 2 D esquinas de un (perturbado) cubo de dimensión D, el cubo de
Klee-Minty, en el peor de los casos.
9.1.3 Algoritmo de muestreo Cónica de Serang
Al igual que otros algoritmos de base de intercambio, cónicas algoritmo de
muestreo de los movimientos de Serang entre vértices, pero donde el algoritmo
simplex se mueve a lo largo de los bordes de la eliminación y la adición de una
base a la vez, los de muestreo cónicas método intercambios múltiples bases a la
19
PROOGRAMACION LINEAL
vez, y no se limita a mover a lo largo de los bordes del politopo. A partir de un
vértice actual, el método de muestreo cónico elige un vector aleatorio que mejora
el valor objetivo sin violar ninguna restricción adyacente. El algoritmo se desplaza
entonces a lo largo de este vector hasta que se encuentra una restricción limitante.
Desde este punto, el algoritmo proyecta el vector de objetivo ortogonal a esta
restricción limitante, y se mueve a lo largo de esta proyección ortogonal hasta una
nueva restricción se alcanza. Este avance y proyección se repite hasta que se
alcanza un vértice. Entonces, se elige un nuevo vector aleatorio. Este proceso se
repite hasta que no existe ningún vector que puede mejorar el objetivo sin violar
ninguna de las restricciones locales, lo que implica optimalidad. Esencialmente, el
método de muestreo cónico puede ser pensado como un método de muestreo
vértice que las muestras al azar de la colección de vértices con la mejora de valor
objetivo. Si los vértices con valor objetivo superior, se muestrean de una manera
más o menos uniforme, entonces el tiempo de ejecución esperado es logarítmica
en el número de vértices (y por lo tanto polinomio). Muestreo de los vértices de
esta manera, se pueden permitir grandes saltos, beneficioso a través de la
gobernación, y producen una sustancial mejora en la ejecución método simplex,
especialmente cuando el número de restricciones y, por tanto, el número de
posibles vértices, es grande; sin embargo, los giros más límite superior existentes
en el peor de los casos complejidad de la cónica método de muestreo se sigue
siendo exponencial.
9.2.Punto de Interior
9.2.1 Algoritmo elipsoide, siguiendo Khachiyan
Esta es la primera del peor caso de tiempo polinómico algoritmo de programación
lineal. Para resolver un problema que tiene n las variables y puede ser codificado
en L bits de entrada, este algoritmo utiliza O (n 4 L) operaciones pseudo aritmética
sobre números con O (L) dígitos. De Khachiyan algoritmo y su larga cuestión de la
legitimación se resolvió por LeonidKhachiyan en 1979 con la introducción del
método elipsoide. El análisis de convergencia tiene (números reales)
20
PROOGRAMACION LINEAL
predecesores, en particular los métodos iterativos desarrollados por Naum Z. Shor
y los algoritmos de aproximación por ArkadiNemirovski y D. Yudin.
9.2.2. Algoritmo proyectivo de Karmarkar
El algoritmo de Khachiyan era de importancia histórica para establecer la
solvencia del polinomio-tiempo de los programas lineales. El algoritmo no fue un
gran avance computacional, como el método simplex es más eficiente para todos,
pero las familias especialmente construidos de programas lineales.
Sin embargo, el algoritmo de Khachiyan inspirado nuevas líneas de investigación
en la programación lineal. En 1984, N. Karmarkar propuso un método
proyectivo para la programación lineal. Algoritmo de Karmarkar mejoró el peor de
los casos polinomio de Khachiyan obligado (dando ).Karmarkar afirmó
que su algoritmo es mucho más rápido en LP práctica que el método simplex, una
afirmación que ha creado un gran interés por los métodos de punto interior.
9.2.3. Los algoritmos de seguimiento de camino
En contraste con el algoritmo simplex, que encuentra una solución óptima
mediante el desplazamiento de los bordes entre los vértices en un conjunto
poliédrica, métodos de punto interior se mueven por el interior de la región factible.
Desde entonces, se han propuesto y analizado muchos métodos de punto interior.
Implementaciones exitosas temprano se basaron en escala afines variantes del
método. Para ambos propósitos teóricos y prácticos, la función de barrera o la ruta
siguiente métodos han sido los más populares desde la década de 1990.
9.3. Comparación de los métodos de punto interior frente a los
Algoritmos simplex
La opinión actual es que la eficiencia de las buenas implementaciones de los
métodos basados en simplex y métodos de punto interior es similares para las
aplicaciones de rutina de programación lineal. Sin embargo, para ciertos tipos de
21
PROOGRAMACION LINEAL
problemas de PL, puede ser que un tipo de programa de solución es mejor que
otro (a veces mucho mejor).
Solucionadores de PT son de uso generalizado para la optimización de diversos
problemas en la industria, tales como la optimización del flujo en redes de
transporte.
Problemas abiertos y en los trabajos
Hay varios problemas abiertos en la teoría de la programación lineal, la solución
de lo que representaría avances fundamentales en matemáticas y potencialmente
importantes avances en nuestra capacidad para resolver programas lineales a
gran escala.
¿Tiene LP admite un polinomio fuerte algoritmo de tiempo?
¿Tiene LP admite un algoritmo fuerte polinomio para encontrar una solución
estrictamente complementaria?
¿Tiene LP admite un algoritmo polinomial en el modelo número real (coste
unitario) de la computación?
Este conjunto estrechamente relacionado de problemas ha sido citado por
Stephen Smale como uno de los 18 más grandes problemas no resueltos del siglo
21. En palabras de Smale, la tercera versión del problema "es el principal
problema no resuelto de la teoría de la programación lineal." Si bien existen
algoritmos para resolver la programación lineal en el tiempo débilmente polinomio,
tales como los métodos de elipsoide y técnicas de punto interior, no hay algoritmos
no se han encontrado que permiten el rendimiento en tiempo polinomio
fuertemente en el número de restricciones y el número de variables. El desarrollo
de este tipo de algoritmos sería de gran interés teórico, y tal vez permitir
ganancias prácticas en la solución de los grandes discos de vinilo también.
Aunque la conjetura de Hirsch fue desmentida recientemente para dimensiones
superiores, todavía deja a las siguientes preguntas abiertas.
22
PROOGRAMACION LINEAL
¿Hay reglas de pivote que conducen a las variantes Simplex en tiempo
polinomial?
¿Todos los gráficos politopales han delimitado polinómicamente diámetro?
Estas preguntas se relacionan con el análisis y desarrollo de métodos Simplex-
como el rendimiento. La inmensa eficiencia del algoritmo Simplex en la práctica a
pesar de su rendimiento teórico en tiempo exponencial insinúa que puede haber
variaciones de Simplex que se ejecutan en tiempo polinómico o incluso
fuertemente polinómica. Sería de gran importancia práctica y teórica para saber si
existen tales variantes, particularmente como un enfoque para decidir si PT puede
ser resuelto en el tiempo fuertemente polinomio.
El algoritmo Simplex y sus variantes caen dentro de la familia de algoritmos de
última generación-siguiente, que se llaman así porque resuelven problemas de
programación lineal pasando de vértice a vértice a lo largo de los bordes de un
politopo. Esto significa que su rendimiento teórico está limitado por el número
máximo de aristas entre dos vértices en el politopo LP. Como resultado, estamos
interesados en conocer el máximo diámetro-gráfico teórico de politopalesgráficos.
Se ha demostrado que todos los politopos tienen diámetro subexponencial. La
reciente refutación de la conjetura de Hirsch es el primer paso para probar si
alguno tiene politopo diámetro superpolynomial. Si existe algún tipo de politopos,
entonces no hay variante de canto siguiente se puede ejecutar en tiempo
polinomial. Preguntas sobre el diámetro politopo son de interés matemático
independiente.
Métodos de pivote Simplex preservar primal (o dual) de factibilidad. Por otra parte,
se entrecruzan en los métodos de pivote no conservan (primal o dual) de
factibilidad pueden visitar bases primarias factibles, dual factible o primal y dual no
factibles en cualquier orden. Métodos de pivote de este tipo se han estudiado
desde los años 1970. En esencia, estos métodos tratan de encontrar el camino
más corto de pivote en el politopo disposición bajo el problema de programación
lineal. En contraste con los gráficos politopales, se sabe gráficos de politopos
23
PROOGRAMACION LINEAL
arreglo a tener de pequeño diámetro, lo que permite la posibilidad de fuerza-
tiempo polinómico entrecruzado algoritmo pivote sin resolver preguntas sobre el
diámetro de politopos generales.
Incógnitas enteros
Si todas las variables desconocidas están obligados a ser números enteros,
entonces el problema se denomina programación entera (IP) o programación lineal
entera problema (ILP). En contraste con la programación lineal, que puede ser
resuelto de manera eficiente en el peor de los casos, problemas de programación
entera son en muchas situaciones prácticas (aquellos con variables acotadas) NP-
difícil. 0-1 de programación entera o de programación entero binario (BIP) es el
caso especial de programación entera donde se requieren las variables a ser 0 o 1
(en lugar de números enteros arbitrarios). Este problema también se clasifica
como NP-duro, y de hecho la versión decisión fue una de 21 problemas NP-
completos de Karp.
Si tan sólo algunas de las variables desconocidas están obligados a ser números
enteros, entonces el problema se llama programación entera mixta problema
(MIP). Estos son generalmente también NP-duro, ya que son incluso más general
que los programas de ILP.
Sin embargo, hay algunas subclases importantes de los problemas de propiedad
intelectual y MIP que son solucionables eficiente, sobre todo los problemas donde
la matriz de limitación es totalmente unimodular y los lados derechos de las
restricciones son números enteros o - de - en el que el sistema tiene el total del
doble integralidad (TDI) propiedad.
24
PROOGRAMACION LINEAL
Los algoritmos avanzados para resolver programas lineales enteros incluyen:
método de corte plano
branch&bound
ramas y corte
rama y precio
si el problema tiene alguna estructura adicional, puede ser posible aplicar la
generación de columnas retardada.
Tales algoritmos enteros de programación son discutidos por Padberg y Beasley.
Programas integrales lineales
Un programa lineal en las variables reales se dice que es integral si tiene al menos
una solución óptima que es integral. Del mismo modo, un
poliedro se dice que es integral si para todas las delimitadas
factibles funciones objetivo C, el programa lineal tiene un
grado óptimo con coordenadas enteras. Como observó Edmonds y Giles en
1977, una forma equivalente se puede decir que el poliedro es integral si para
cada acotada factible integral función objetivo c, el óptimo valor del programa
lineal es un entero.
Programas integrales lineales son de vital importancia en el aspecto poliédrico de
optimización combinatoria, ya que proporcionan una caracterización alternativa de
un problema. En concreto, para cualquier problema, la envolvente convexa de las
soluciones es un poliedro integral; si este poliedro tiene una buena descripción /
compact, entonces podemos encontrar de manera eficiente la solución factible
óptima bajo cualquier objetivo lineal. Por el contrario, si podemos probar que una
relajación de programación lineal es integral, entonces es la descripción deseada
de la envolvente convexa de soluciones factibles (integral).
25
PROOGRAMACION LINEAL
Tenga en cuenta que la terminología no es constante a través de la literatura, por
lo que uno debe tener cuidado en distinguir los dos conceptos siguientes:
en un programa lineal entera, se describe en la sección anterior, las
variables se ven limitados por la fuerza a ser números enteros, y este
problema es NP-duro en general,
en un programa lineal integral, se describe en esta sección, las variables no
están limitados a ser números enteros sino más bien uno ha demostrado de
alguna manera que el problema continua siempre tiene un valor óptimo
integrante (suponiendo que Ces integral), y este valor óptimo puede ser
encontrado de manera eficiente desde todos los programas lineales de
tamaño polinomio se pueden resolver en tiempo polinomial.
Una forma común de probar que un poliedro es integral es mostrar que es
totalmente unimodular. Hay otros métodos generales, incluyendo la propiedad de
descomposición entero y total de la doble integralidad. Otros LPs integrales
conocidos específicos incluyen el politopo coincidente, poliedros celosía,
submodular poliedros flujo, y la intersección de 2 generalizadas polymatroids / g -
polymatroids --- por ejemplo, ver Schrijver 2003.
Un poliedro integral acotado a veces se denomina politopo convexo celosía, sobre
todo en dos dimensiones.
Soluciones y lenguajes de scripting (programación)
Libre de código abierto permisivas licencias:
26
PROOGRAMACION LINEAL
Libre de código abierto copyleft (recíprocos) licencias:
MINTO (Entero Optimizer mixta, una programación entera solucionador que utiliza
la rama y el algoritmo de la envolvente) tiene el código fuente a disposición del
público, pero no es de código abierto.
Propietario:
27
PROOGRAMACION LINEAL
28
PROOGRAMACION LINEAL
CONCLUSION
La Programación Lineal es un procedimiento o algoritmo matemático mediante el
cual se resuelve un problema indeterminado, formulado a través de ecuaciones
lineales, optimizando la función objetivo, también lineal.
Consiste en optimizar (minimizar o maximizar) una función lineal, que
denominaremos función objetivo, de tal forma que las variables de dicha función
estén sujetas a una serie de restricciones que expresamos mediante un sistema
de inecuaciones lineales. Como pudimos observar en el desarrollo de este trabajo
la programación lineal cuenta con diferentes métodos que nos permiten reducir el
esto de un envió, o bien sea asignar maquinas a trabajos o hombres a trabajos,
esta abarca muchos aspectos, permitiéndole a la empresa reducir los costos, para
así obtener mejores ganancias. De los modelos ya vistos podemos concluir' que:
El modelo de transpone busca determinar un plan de transporte de una mercancía
de valias fuentes a varios destinos. Los datos del modelo son:
1. Nivel de oferta en cada fuente y la cantidad de demanda en cada destino.
2. El costo de transporte unitario de la mercancía a cada destino.
Como solo hay una mercancía un destino puede recibir su demanda de una o más
fuentes. El objetivo del modelo es el de determinar la cantidad que se enviará de
cada fuente a cada destino, tal que se minimice el costo del transporte total. El
modelo de asignación es un caso especial del modelo de transporte, en el que los
recursos se asignan a las actividades en términos de mío a uno, haciendo notar
que la matriz correspondiente debe ser cuadrada. Así entonces cada recurso debe
asignarse, de modo único a una actividad particular o asignación. Mientras que el
modelo de transbordo trata de enviar bienes (cantidades) desde un punto i, a
únicamente destinos finales .El envío no se produce entre orígenes o entre
destinos, tampoco entre destinos a orígenes. El modelo de trasbordo nos
demuestra que resulta más económico (minimizar costos) enviar a través de
nodos intermedios o transitorios antes de llegare al punto de destino final.
29
PROOGRAMACION LINEAL
Referencias
LV Kantorovich: Un nuevo método para resolver algunas clases de
problemas extremales, DokladyAkad Ciencia URSS, 28, 1940, 211-214.
GB Dantzig: La maximización de una función lineal de las variables sujetas
a desigualdades lineales, 1947. Publicado pp. 339-347 en TC Koopmans
(ed.):Análisis de la actividad de producción y asignación , Nueva York-
Londres 1951 (Wiley& Chapman-Hall)
JE Beasley, editor. Avances en Lineal y Programación Entera. Oxford
Science, 1996. (Colección de encuestas)
RG Bland, nuevas reglas de pivote finitos para el método
simplex, Math. Oper. . Res. 2 (1977) 103-107.
Karl-Heinz Borgwardt, El Algoritmo Simplex: Un Análisis Probabilístico,
Algoritmos y Combinatoria, Volumen 1, Springer-Verlag,
1987. (Comportamiento medio de los problemas aleatorios)
Richard W. Cottle, ed. The George B. Dantzigbásico. Stanford Business
Books, Stanford University Press, Stanford, California, 2003. (Los trabajos
seleccionados por George B. Dantzig )
George B. Dantzig y Mukund N. Thapa. 1997. Programación Lineal 1:
Introducción. Springer-Verlag.
George B. Dantzig y Mukund N. Thapa. . 2003 Programación lineal 2:
Teoría y Extensiones. Springer-Verlag. (Integral, abarcando por
ejemplo pivotante y algoritmos de punto interior, los problemas a gran
escala, la descomposición después de Dantzig-Wolfe y Benders , y la
introducción de la programación estocástica .)
Edmonds, J. y Giles, R., "Una relación min-max para funciones submodular
en los gráficos", Ann. Matemática Discreta., V1, pp 185-204, 1977
30
PROOGRAMACION LINEAL
Fukuda, Komei; Terlaky, Tamás (1997). "Criss-cross métodos: una visión
fresca en algoritmos de pivote". En Thomas M. Liebling y Dominique de
Werra.ProgramaciónMatemática: Serie B (Amsterdam: North-Holland
Publishing Co.) 79 (1-3):. 369-
395 doi : 10.1007/BF02614325 . MR 1464775.
Gondzio, Jacek;.Terlaky, Tamás (1996) "3 Una vista computacional de los
métodos de punto interior". En JE Beasley. Avances en la programación
lineal entera y. Oxford Cátedra de Matemáticas y sus Aplicaciones 4. Nueva
York: Oxford UniversityPress. pp 103-144. MR 1438311. archivo PostScript
en la página web de Gondzio y en la página web de la Universidad
McMaster de Terlaky.
Murty, Katta G. (1983.) La programación lineal. Nueva York: John Wiley &
Sons, Inc. pp xix 482. ISBN 0-471-09725-X. MR 720547. (Referencia
completa a los enfoques clásicos).
Evar D. Nering y Albert W. Tucker, 1993, Programas Lineales y Problemas
Relacionados, AcademicPress. (Primaria)
M. Padberg, Lineal Optimización y Extensiones, segunda edición, Springer-
Verlag, 1999. (Cuenta de algoritmos simplex primal y dual y algoritmos
proyectivas cuidadosamente escrita, con una introducción a la
programación lineal entera --- con el problema del viajante de Odiseo.)
Christos H. Papadimitriou y Kenneth Steiglitz, Optimización Combinatoria:
Algoritmos y Complejidad , reedición corregida con un nuevo prefacio, de
Dover.(Informática)
Michael J. Todd (febrero de 2002). "Las múltiples facetas de la
programación lineal." MathematicalProgramming 91 (3). (encuesta invitado,
desde el Simposio Internacional de Programación Matemática.)
Vazirani, Vijay V. (2001). Aproximación Algoritmos. Springer-
Verlag. ISBN 3-540-65367-8. (Informática).
31
PROOGRAMACION LINEAL
Anexos
Una representación gráfica de un programa lineal simple con dos variables y seis
desigualdades. El conjunto de soluciones factibles se representa en rojo claro y
forma un polígono, un 2 dimensiones politopo. La función de costo lineal está
representada por la línea roja y la flecha: La línea roja es un conjunto de nivel de
la función de costos, y la flecha indica la dirección en la que estamos optimizando.
Una región factible cerrada de un problema con tres variables es una convexa
poliedra. Las superficies que dan un valor fijo de la función objetivo son planos (no
mostrados). El problema de programación lineal es encontrar un punto en el
poliedro que es en el avión con el valor más alto posible.
32