Programacion Lineal

45
Alumnos: - Ibarra Sánchez, Gyula Antonio. - Torres Ortega, Oscar

Transcript of Programacion Lineal

Page 1: Programacion Lineal

PROOGRAMACION LINEAL

1

Alumnos:

- Ibarra Sánchez, Gyula Antonio.

- Torres Ortega, Oscar Fernando.

Page 2: Programacion Lineal

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

Page 3: Programacion Lineal

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

Page 4: Programacion Lineal

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

Page 5: Programacion Lineal

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

Page 6: Programacion Lineal

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

Page 7: Programacion Lineal

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

Page 8: Programacion Lineal

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

Page 9: Programacion Lineal

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

Page 10: Programacion Lineal

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

Page 11: Programacion Lineal

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

Page 12: Programacion Lineal

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

Page 13: Programacion Lineal

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

Page 14: Programacion Lineal

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

Page 15: Programacion Lineal

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

Page 16: Programacion Lineal

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

Page 17: Programacion Lineal

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

Page 18: Programacion Lineal

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

Page 19: Programacion Lineal

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

Page 20: Programacion Lineal

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

Page 21: Programacion Lineal

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

Page 22: Programacion Lineal

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

Page 23: Programacion Lineal

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

Page 24: Programacion Lineal

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

Page 25: Programacion Lineal

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

Page 26: Programacion Lineal

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

Page 27: Programacion Lineal

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

Page 28: Programacion Lineal

PROOGRAMACION LINEAL

28

Page 29: Programacion Lineal

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

Page 30: Programacion Lineal

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

Page 31: Programacion Lineal

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

Page 32: Programacion Lineal

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