Anar al contingut

Programa llineal dual

De L'Enciclopèdia, la wikipedia en valencià

El dual d'un programa llineal (PL) donat és un atre PL que es deriva de el PL original (el primal) de la següent forma:

  • Cada variable en el PL primal es convertix en una restricció en el PL dual;
  • Cada restricció en el PL primal es convertix en una variable PL dual;
  • La funció objectiu s'invertix – maximizar en el PL primal es convertix en minimisar en el PL dual i viceversa.

Construint el PL dual

[editar | editar còdic]

Donat un PL primal, el següent algoritme pot ser utilisat per a construir el seu PL dual. El PL primal està definit per:

  • Un conjunt de n variables: x1,,xn
  • Per a cada variable xi, li correspon un signe de restricció – té que ser no negatiu (xi0), no positiu (xi0) o irrestrica xi.
  • Una funció objectiu:maximizarc1x1++cnxn
  • Una llista de m restriccions. Cada restricció j és: aj1x1++ajnxnbj a on el símbol abans de bj pot ser o o =.

El PL dual es construïx com seguix:

  • Cada restricció en el primal es convertix en una variable en el dual, per lo que hi ha m variables: y1,,ym.
  • El constrenyiment de senyal de cada variable dual és "opost" al signe del seu primal constrenyiment. Per lo que “bj” es convertix en yj0, “bj” es convertix en yj0 i “=bj” es convertix en yj.
  • La funció objectiva dual ésminimizar b1y1++bmym
  • Cada variable primal es convertix en una restricció dual, per lo que hi ha n restriccions. El coeficient d'una variable dual en la restricció dual és el coeficient de la seua variable primal en la seua restricció primal, per lo que cada restricció i és: a1iy1++amiymci a on el símbol abans de ci és similar a la restricció en variable i en el PL primal, per lo que xi0 es convertix en “ci”, xi0 es convertix en “ci” i xi es convertix en “=ci”.

D'este algoritme, és fàcil de vore que el dual del dual és el primal.

Formulació vectorial

[editar | editar còdic]

Si totes les restriccions tenen el mateix signe, és possible representar l'algoritme de dalt en una manera més curta utilisant matrius i vectores. La següent taula mostra la relació entre varis tipos de PL primales i duals.

Primal Dual Nota
Maximizar 𝐜T𝐱 subjecte a A𝐱𝐛,𝐱𝟎 Minimisar 𝐛T𝐲 subjecte a AT𝐲𝐜,𝐲𝟎 És cridat problema dual "simètric"
Maximizar 𝐜T𝐱 subjecte a AT𝐲𝐛 Minimisar 𝐛T𝐲 subjecte a AT𝐲=𝐜,𝐲𝟎 És cridat problema dual “asimètric”
Maximizar 𝐜T𝐱 subjecte a A𝐛=𝐛,𝐱𝟎 Minimisar 𝐛T𝐲 subjecte a AT𝐲𝐜

Vore també

[editar | editar còdic]