La PizarraMatemática.

Matemáticas para ingeniería

Programación lineal y dualidad

Un programa lineal compara decisiones sujetas a capacidades o balances lineales. En dos variables podemos ver la región posible; el dual nos permitirá demostrar que ningún otro plan mejora al elegido. Construiremos esa cota sumando desigualdades válidas, para entender sus signos antes de usar una fórmula matricial.

1. Un programa lineal tiene coeficientes fijos y decisiones continuas

Fijamos la forma primal: maximizar cᵀx con Ax≤b y x≥0.

Cada fila de A representa una condición, b sus límites y c los valores de las decisiones. Las desigualdades vectoriales se leen componente a componente. En nuestros ejemplos de dos decisiones las llamaremos u, v; reservaremos α, β para multiplicadores del dual.

Objetivo y restricciones deben ser afines en las decisiones; una constante del objetivo puede separarse sin cambiar el plan óptimo. Exigir integridad produce programación entera, otra tarea. Primero comprobamos factibilidad: el primer punto que cumple las condiciones no es necesariamente óptimo.

Traducir dos recursos a la forma matricial

Maximizar 3u+2v con u+v≤6, 2u+v≤8 y u, v≥0.

  1. Decisiones

    x=(u; v) y c=(3;2).
  2. Matriz

    A=[[1,1],[2,1]] y b=(6;8), una fila por recurso.
  3. Probar

    x=(2;4) da Ax=(6;8) y cᵀx=14.

    Es factible; luego certificaremos si puede mejorarse.

Resultado

La matriz organiza el mismo problema escrito en palabras.

Lo comprobamos

No se intercambia el orden de las columnas al pasar de una fila a otra.

Detectar qué expresión deja de ser lineal

Comparamos beneficios 3u+2v y uv, con ambas cantidades variables.

  1. Primer objetivo

    Los coeficientes tres y dos están fijados; es lineal en u, v.

  2. Producto

    En uv, la contribución de u depende de v: no es un coeficiente fijo.

  3. Consecuencia

    Aunque las capacidades fueran lineales, maximizar uv sería un problema no lineal.

Resultado

La forma del objetivo importa tanto como la de las restricciones.

Lo comprobamos

Multiplicar una variable por un parámetro fijo sí conserva linealidad.

2. La geometría permite comparar vértices y reconocer una cara completa de óptimos

Los niveles cᵀx=K son rectas paralelas en dos dimensiones e hiperplanos en general. Maximizar los desplaza hacia valores mayores hasta el último contacto posible. En un politopo no vacío, todo punto es combinación convexa de vértices; su objetivo lineal es la misma combinación de sus valores.

Así algún vértice alcanza el máximo.

La zona factible cumple todas las restricciones simultáneamente
Dos capacidades a la vez(2,4)6046u+v≤62u+v≤8u≥0; v≥0
La región sombreada tiene vértices (0,0), (4,0), (2,4) y (0,6). Cumple u+v≤6, 2u+v≤8 y no negatividad. Un punto fuera de una sola de estas condiciones ya no pertenece al modelo factible.

Puede haber más de un óptimo: si dos vértices tienen el mismo valor máximo, todo el segmento entre ellos también lo tiene. En regiones generales no acotadas revisamos existencia y estructura antes de prometer un vértice óptimo. Símplex recorre bases; punto interior usa otra estrategia. La geometría no exime de comprobar las restricciones.

Enumerar los vértices de un polígono pequeño

Región u+v≤6, 2u+v≤8, u, v≥0; objetivo 3u+2v.

  1. Vértices

    Los ejes dan (0;0),(4;0),(0;6).

    Intersectar las dos rectas da u=2, v=4.
  2. Valores

    Los objetivos respectivos son cero, doce, doce y catorce en (2;4).

  3. Justificar

    La región es un politopo no vacío y todos sus puntos son combinaciones convexas de esos vértices; ninguno supera catorce.

Resultado

El máximo es catorce en (2;4).

Lo comprobamos

Se han comprobado vértices de la intersección, no intersecciones que queden fuera de alguna capacidad.

Cambiar el objetivo puede producir toda una arista óptima

Misma región, ahora maximizar u+v.

  1. Cota directa

    La primera restricción da u+v≤6.
  2. Alcanzar en dos puntos

    (0;6) y (2;4) son factibles y dan seis.

  3. Segmento

    Los puntos (s;6−s) con 0≤s≤2 cumplen ambas condiciones y tienen el mismo valor seis.

Resultado

Hay infinitos óptimos a lo largo de esa arista.

Lo comprobamos

El punto (1;5) sirve; que un algoritmo devuelva un extremo no lo convierte en el único óptimo.

3. El dual busca la mejor cota formada con multiplicadores válidos

Si y≥0 y Ax≤b, sumar filas multiplicadas por sus componentes conserva el sentido: yᵀAx≤yᵀb.

Si además Aᵀy≥c y x≥0, entonces cᵀx≤xᵀAᵀy.

La cadena completa cᵀx≤yᵀAx≤bᵀy es válida para cualquier par factible de este tipo.

El dual minimiza bᵀy sujeto a Aᵀy≥c, y≥0.

Tiene un multiplicador por restricción primal. Puede interpretarse como precios de recursos en algunos modelos, pero su función matemática es construir cotas. El signo no negativo evita invertir una desigualdad; la condición sobre columnas permite cubrir el objetivo con esa combinación.

Construir el dual una columna cada vez

Primal: max 3u+2v con u+v≤6, 2u+v≤8, u, v≥0.

  1. Multiplicadores

    α≥0 para la primera capacidad y β≥0 para la segunda.
  2. Coeficiente de u

    La combinación tiene α+2β; pedimos α+2β≥3.
  3. Coeficiente de v

    Tiene α+β; pedimos α+β≥2.
  4. Objetivo dual

    Minimizar 6α+8β con esas condiciones y no negatividad.

Resultado

El dual busca la cota superior más pequeña de esta familia.

Lo comprobamos

Hay dos multiplicadores porque hay dos capacidades, no por casualidad porque también haya dos decisiones.

Una cota válida no tiene por qué ser exacta

Usamos α=2, β=1/2 en el dual anterior.

  1. Factibilidad dual

    α+2β=3 y α+β=2,5≥2; los signos son no negativos.
  2. Sumar capacidades

    La combinación da 3u+2,5v≤16.
    Como v≥0, también 3u+2v≤16.
  3. Comparar con un plan

    El plan (2;4) da catorce, así hay una brecha de dos entre ese plan y esta cota.

Resultado

Dieciséis es una cota, pero todavía no un valor óptimo certificado.

Lo comprobamos

No se usa un multiplicador negativo para abaratar artificialmente el lado derecho.

4. Cuando una decisión y una cota factibles coinciden, ya hay un certificado

La dualidad débil asegura objetivo primal ≤objetivo dual para todo par factible. Si un plan alcanza una cota dual, ningún primal puede superarlo y ningún dual puede rebajar la cota. Quedan demostrados ambos óptimos sin enumerar todas las decisiones.

Un certificado compara todos los planes sin enumerarlos
Sumar dos cotas válidasu+v ≤ 62u+v ≤ 8+3u+2v ≤ 14El plan (2,4) alcanza 14.Cota y valor coinciden.
Usamos multiplicadores no negativos uno y uno para sumar ambas restricciones. Así el beneficio 3u+2v no puede superar catorce para ningún plan factible. Como el plan (2,4) es factible y lo alcanza, queda certificada su optimalidad.

Hay que verificar factibilidad de los dos lados y calcular ambos valores con el mismo problema y sus escalas. Una coincidencia de cifras obtenidas con signos o restricciones equivocados no certifica nada. El certificado es la cadena de desigualdades y el punto donde se alcanza.

Cerrar la brecha del ejemplo principal

Plan (u; v)=(2;4), multiplicadores (α; β)=(1;1).

  1. Lado primal

    Las capacidades valen seis y ocho; el beneficio es 3·2+2·4=14.

  2. Lado dual

    α+2β=3 y α+β=2.
    La cota dual es 6+8=14.
  3. Concluir

    Todo plan vale como máximo catorce y este lo alcanza; ambos lados son óptimos.

Resultado

Catorce queda certificado globalmente.

Lo comprobamos

No depende de creer que el dibujo parece haber llegado al último punto.

Un multiplicador basta en una dimensión

Maximizar 4w con 0≤w≤3.

  1. Plan

    w=3 es factible y da doce.
  2. Dual

    Un α≥0 multiplica w≤3; para cubrir 4w necesitamos α≥4.
  3. Certificado

    Elegir α=4 da cota 3·4=12, igual al plan.
Resultado

El máximo es doce.

Lo comprobamos

Un α=3 daría una cota nueve falsa para el objetivo: no cumple α≥4.

5. La dualidad fuerte garantiza una cota alcanzada en el caso lineal finito

El teorema de dualidad fuerte lineal afirma que si el primal de la forma fijada es factible y tiene valor óptimo finito, el dual tiene óptimo alcanzado y el mismo valor. Es un teorema de programación lineal; no se deduce solo de dibujar un caso. No exige estricta factibilidad como condición general del resultado lineal.

Por dualidad débil, si el primal es no acotado por arriba, el dual no puede ser factible: cualquier punto dual daría una cota finita contradictoria. La inversa no se usa automáticamente. Si un lado es infactible, el otro puede ser infactible o no acotado; hay que estudiar las condiciones concretas.

La ausencia de interior no impide una igualdad primal-dual

Maximizar u con u≤0 y u≥0.

  1. Primal

    El único punto factible es u=0; vale cero.

    No existe un u positivo que cumpla estrictamente esos límites.

  2. Dual

    Minimizar 0·α con α≥1, α≥0.
  3. Alcanzar

    α=1 es dual factible y da cero: ambos óptimos existen y coinciden.

Resultado

La estricta factibilidad no era necesaria para este programa lineal.

Lo comprobamos

No trasladamos sin revisar condiciones adicionales de otros teoremas de dualidad no lineal.

Infactible no determina por sí solo el estado del otro lado

Comparamos dos primales de máximo con u≥0 y objetivo u.

  1. Primer caso vacío

    u≤0 y −u≤−1 son incompatibles.
    Su dual minimiza −β con α−β≥1, α, β≥0.
  2. Dual no acotado

    α=t+1, β=t para t≥0 es factible y da −t, sin cota inferior.
  3. Segundo caso vacío

    La condición 0u≤−1 también es imposible.
    Su dual exigiría 0α≥1 con α≥0, igualmente imposible.
  4. Distinguir

    En el primer ejemplo el dual es no acotado; en el segundo también es infactible.

Resultado

No se invierte una implicación de dualidad sin comprobar sus hipótesis.

Lo comprobamos

Las dos construcciones siguen la misma forma primal-dual declarada.

6. La holgura complementaria explica en qué términos desaparece la brecha

La identidad bᵀy−cᵀx=yᵀ(b−Ax)+xᵀ(Aᵀy−c) separa la brecha en productos.

Si ambos lados son factibles, todos los sumandos son no negativos. La brecha es cero exactamente cuando cada yᵢ(bᵢ−(Ax)ᵢ)=0 y cada xⱼ((Aᵀy)ⱼ−cⱼ)=0.

Una capacidad con holgura positiva obliga a precio dual cero en un par óptimo. Una decisión primal positiva obliga a igualdad en su condición dual. La inversa de estas frases no siempre vale: una capacidad activa puede tener precio cero. Las igualdades complementarias ayudan a construir candidatos, pero no sustituyen comprobar factibilidad.

Reconstruir los multiplicadores desde una solución positiva

En el ejemplo principal u=2, v=4 y ambas variables son positivas.

  1. Igualdades duales

    La complementariedad exige α+2β=3 y α+β=2.
  2. Resolver

    Restar da β=1 y entonces α=1.
  3. Control completo

    Son no negativos, las dos capacidades están activas y los valores primal y dual son catorce.

Resultado

Las ecuaciones complementarias permiten encontrar el certificado.

Lo comprobamos

Si la solución calculada hubiera tenido un multiplicador negativo, no bastaría cumplir estas igualdades.

Un recurso sobrante puede tener precio dual cero

Max 3u+2v con u+v≤6, u≤10, u, v≥0.

  1. Plan

    (6;0) es factible; la segunda capacidad deja holgura cuatro.

  2. Precios

    α=3 para la primera y β=0 para la segunda dan α+β=3≥3 y α=3≥2.
  3. Valor y productos

    La cota es 6·3+10·0=18, igual al plan.

    Holgura cuatro por precio cero y v=0 por holgura dual uno dan productos cero.

Resultado

La capacidad no utilizada no recibe precio positivo en este certificado.

Lo comprobamos

La desigualdad dual de v puede tener holgura porque la decisión v está en cero.

Una capacidad activa también puede llevar precio cero

Maximizar u con dos restricciones idénticas u≤1 y u≤1, además u≥0.

  1. Óptimo primal

    u=1 activa las dos restricciones.
  2. Dual

    α, β≥0 y α+β≥1; minimizar α+β.
  3. Elección

    α=1, β=0 da uno y certifica el óptimo.

    La segunda capacidad está activa y tiene multiplicador cero.

Resultado

Activa no significa necesariamente precio estrictamente positivo.

Lo comprobamos

Duplicar una restricción puede hacer no únicos los multiplicadores óptimos.

7. Los signos del dual se justifican desde las cotas, no por una trasposición automática

Una desigualdad de tipo ≤ necesita multiplicador no negativo para conservar ese sentido en una cota superior. Una igualdad puede multiplicarse por cualquier número real sin perder la igualdad. Si cambiamos de forma el primal, cambian las reglas duales correspondientes; fijamos primero la convención.

Una variable primal libre puede tener cualquier signo. Para eliminar su contribución al construir la cota lineal, sus coeficientes deben coincidir, en vez de usar solo una desigualdad válida para variables no negativas. También puede representarse como diferencia de dos variables no negativas y deducir ambas condiciones.

Explicar la comparación evita memorizar signos fuera de contexto.

Un multiplicador de igualdad puede ser negativo

Maximizar −u sujeto a u=2 y u≥0.

  1. Valor primal

    La única decisión es u=2 y vale −2.
  2. Cota de igualdad

    Multiplicar u=2 por λ libre da λu=2λ.
    Para −u≤λu con u≥0 basta λ≥−1.
  3. Dual

    Minimizar 2λ con λ≥−1, λ libre de signo. λ=−1 da −2 y alcanza la cota exacta.

Resultado

Imponer λ≥0 sin motivo cambiaría el dual y perdería esta igualdad de valores.

Lo comprobamos

La posibilidad de signo negativo viene de multiplicar una igualdad, no de invertir una capacidad arbitrariamente.

Una variable libre fuerza igualdad de coeficientes en el dual

Maximizar u con u≤2 y u∈R.

  1. Multiplicador

    α≥0 conserva αu≤2α.
  2. Eliminar la variable libre

    Para identificar el coeficiente del objetivo sin depender del signo de u imponemos α=1. Una comparación por α≥1 sola no funciona para todos los u negativos.

  3. Certificado

    Con α=1 la cota es dos y el punto u=2 la alcanza.
Resultado

La condición dual para esa columna libre es una igualdad.

Lo comprobamos

La construcción estándar elimina toda dependencia de la variable libre; no cambia su dominio a u≥0 sin justificar una equivalencia.

8. Una relajación continua aporta una cota que todavía hay que comparar con decisiones enteras

Al quitar integridad, el conjunto factible crece. En un máximo, el óptimo continuo da una cota superior del entero; en un mínimo da una cota inferior. Una respuesta fraccionaria no es por sí sola una decisión entera. Las cotas válidas permiten medir la brecha con la mejor decisión encontrada.

Si el valor objetivo entero debe ser un número entero, podemos redondear una cota en la dirección que conserva su validez. Esto no equivale a redondear las variables. La igualdad entre una cota válida y el valor de un plan entero factible certifica optimalidad; si queda brecha no se anuncia una garantía que aún no tenemos.

Redondear una cota puede certificar sin redondear un plan fraccionario

Maximizar u+v con 2u+2v≤5 y u, v enteros no negativos.

  1. Relajación

    En continuo, u+v≤2,5 y ese valor se alcanza, por ejemplo en (2,5;0).

  2. Usar integridad del objetivo

    Como u+v debe ser entero, todo plan entero tiene valor ≤2.

  3. Alcanzar

    (2;0) cumple la capacidad y da dos, por tanto es óptimo entero.

Resultado

La cota continua se convierte en una cota entera exacta.

Lo comprobamos

Redondear u=2,5 hacia tres habría violado 2u≤5.

Redondear variables hacia abajo puede destruir una cota inferior de producción

Minimizar u+v con u+v≥1,5, 0≤u, v≤1 y ambas variables enteras.

  1. Continuo

    La relajación tiene valor 1,5; (0,75;0,75) es una solución fraccionaria.

  2. Fallo del redondeo

    Redondear ambas hacia abajo da (0;0), que no cumple la cantidad mínima.

  3. Decisiones enteras

    Entre las cuatro parejas binarias, solo (1;1) alcanza al menos 1,5. Su valor es dos, que coincide con la cota inferior entera obtenida de 1,5.

Resultado

La dirección de una cota y la factibilidad de una decisión son comprobaciones distintas.

Lo comprobamos

No se ofrece una regla universal de redondear cada variable para resolver programación entera.

Ahora lo resolvemos de principio a fin.

EJEMPLO RESUELTO 1

Certificar un óptimo

Maximiza 3x+2y con x+y≤4 y x,y≥0.

  1. Problema

    Maximizar 3x+2y con x+y≤4 y x, y≥0.
  2. Proponer

    El punto (4;0) es factible y su objetivo es doce.

  3. Construir una cota

    Como y≥0, 3x+2y≤3x+3y=3(x+y).
  4. Usar la capacidad

    3(x+y)≤3·4=12.
  5. Certificar

    Todo plan factible vale como máximo doce y (4;0) lo alcanza. El multiplicador dual de la capacidad es tres.

  6. Control

    3x+2y=3(x+y)−y; para alcanzar doce se necesita y=0 y x+y=4, de donde x=4.
Resultado

El máximo es 12 en (4,0).

Lo comprobamos

3x+2y≤3(x+y)≤12 para todo punto factible.

EJEMPLO RESUELTO 2

Un límite por precios

Con x≤2,y≤3 y x,y≥0, maximiza 4x+y.

  1. Datos

    x≤2, y≤3 y x, y≥0; objetivo 4x+y.
  2. Primera cota

    Multiplicar x≤2 por cuatro, positivo, da 4x≤8.
  3. Segunda cota

    Multiplicar y≤3 por uno da y≤3.
  4. Sumar

    4x+y≤8+3=11 para todos los planes factibles.
  5. Alcanzar

    x=2, y=3 es factible y da once.
  6. Certificado

    Los precios no negativos cuatro y uno producen una cota igual al valor alcanzado; el máximo es once.

Resultado

El máximo es 11.

Lo comprobamos

Multiplica x≤2 por 4 y y≤3 por 1: 4x+y≤11.

Los símbolos que hemos usado

Primal
Problema inicial de optimización con una convención explícita.
Factible
Punto que satisface todas las restricciones, incluidos signos de variables.
Poliedro
Intersección de un número finito de semiespacios y posibles hiperplanos.
Dual
Problema que construye cotas al combinar restricciones.
Holgura
Diferencia no negativa entre ambos lados de una desigualdad satisfecha, según su forma.
Brecha primal-dual
Diferencia entre objetivos dual y primal factibles en las convenciones elegidas.
Certificado
Datos verificables que prueban una propiedad, como optimalidad.

Ahora te toca a ti.

Tienes cinco ejercicios. Inténtalos; las pistas te ayudan si te atascas.

Practicar este tema →

Para ampliar