Ugrás a tartalomhoz

linear programming

A Wikiszótárból, a nyitott szótárból


Főnév

linear programming (tsz. linear programmings)

  1. (informatika) lineáris programozás

A lineáris programozás (Linear Programming, LP) egy matematikai optimalizálási módszer, amelynek célja egy lineáris célfüggvény maximumának vagy minimumának meghatározása, adott lineáris egyenlőtlenségi vagy egyenlet-rendszerek által megszabott feltételek (korlátozások) mellett. A lineáris programozás kulcsszerepet játszik az operációkutatásban, logisztikában, gazdaságban, pénzügyekben, ipari termelésben és sok más döntéshozatali folyamatban, ahol korlátos erőforrások optimális kihasználása a cél.



Alapfogalmak

  1. Döntési változók: Azok a változók, amelyeket optimalizálunk. Pl. x1,x2,…,xn.
  2. Célfüggvény (objective function): Egy lineáris függvény, amit maximalizálni vagy minimalizálni szeretnénk. Pl. max⁡Z=5x1+3x2.
  3. Feltételek (korlátozó feltételek, constraint-ek): Lineáris egyenletek vagy egyenlőtlenségek, amelyek korlátozzák a döntési változók értékét.
  4. Megengedett tartomány (feasible region): Az a pontkészlet, ahol a feltételek teljesülnek.
  5. Optimális megoldás: A célfüggvény olyan értéke, amely a megengedett tartományban maximális vagy minimális.



Lineáris programozási probléma általános alakja:

Maximalizálni:Z=c1x1+c2x2+…+cnxnFeltéve, hogy:{a11x1+a12x2+…+a1nxn≤b1a21x1+a22x2+…+a2nxn≤b2⋮am1x1+am2x2+…+amnxn≤bmx1,x2,…,xn≥0



Megoldási módszerek

1. Grafikus módszer

Kétváltozós esetben használható. A megoldást a feltételek által kijelölt sokszög (megengedett tartomány) határán keressük, és a célfüggvény meredeksége mentén mozgatott egyenes alapján választjuk ki az optimális pontot.

2. Szimplex módszer (Simplex Method)

George Dantzig által kifejlesztett algoritmus, amely a megengedett tartomány csúcspontjai között iterálva halad az optimális megoldás felé. Működése:

  • Átalakítja a problémát standard alakba.
  • Kezdeti alapmegoldást választ.
  • Pivotálással javítja a célértéket.
  • Megáll, ha nincs több pozitív (vagy negatív) javítási lehetőség.

3. Kétfázisú módszer (Two-phase method)

Ha nincs nyilvánvaló kezdeti megoldás, segédváltozók segítségével először keres egy induló megoldást (1. fázis), majd alkalmazza a szimplexet a valódi célfüggvényre (2. fázis).

4. Belső pontos módszerek (Interior Point Methods)

Alternatív módszer, amely a megengedett tartomány belsejében haladva közelíti az optimumot. Nagy dimenziós problémáknál hatékonyabb lehet, mint a szimplex.



Tipikus alkalmazások

  • Gyártás és termelés: nyersanyagelosztás, termelési mennyiségek optimalizálása.
  • Szállítmányozás: szállítási költségek minimalizálása (szállítási probléma).
  • Pénzügyek: portfólió optimalizálása, kockázat minimalizálás.
  • Hálózattervezés: áramlás maximalizálás, útvonal kiválasztás.
  • Logisztika: készletszint optimalizálás, raktárgazdálkodás.



Tulajdonságok

  • A megoldás, ha létezik, mindig a megengedett tartomány egyik csúcspontján található.
  • A feltételek konvex halmazt definiálnak, tehát ha van megoldás, az globálisan optimális.
  • Lehet egyetlen optimális megoldás, végtelen sok optimális megoldás, nincs megoldás (ellentmondó feltételek) vagy nem korlátos optimum (nincs maximum/minimum, az érték végtelenbe nőhet).



Kiterjesztések

  • Egészértékű programozás (Integer Programming): a változóknak egész számoknak kell lenniük.
  • Vegyes egészértékű programozás (Mixed Integer Programming): néhány változó egész, mások valósak.
  • Paraméteres LP: a korlátok vagy a célfüggvény paraméterei változnak.
  • Duaalitás: minden LP problémához tartozik egy ún. duál probléma, amely új nézőpontból írja le ugyanazt az optimalizálási feladatot.



Példa

Feladat: Maximalizálni: Z=3x+5y

Feltételek:

{2x+3y≤12x+y≤5x≥0,y≥0

Megoldás:

  • A megengedett tartományt grafikus módszerrel ábrázoljuk.
  • A csúcspontokat kiszámoljuk.
  • Minden csúcspontnál kiszámítjuk Z értékét.
  • A legnagyobb Z értéket adó pont az optimális megoldás.



Összefoglalás

A lineáris programozás egy rendkívül fontos és gyakran alkalmazott eszköz az optimalizálási feladatok megoldására. Egyszerű, mégis hatékony formája miatt ipari és tudományos területeken is elterjedt. A szimplex módszer és a belső pontos algoritmusok lehetővé teszik nagy méretű feladatok gyors és pontos megoldását. A lineáris programozás nemcsak egy matematikai módszer, hanem egy gondolkodásmód is: hogyan lehet egy korlátokkal teli rendszerben a lehető legjobban dönteni?