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 optimalizálása (maximalizálása vagy minimalizálása) adott lineáris egyenlőtlenségek és egyenletek formájában megadott korlátok mellett.
Lineáris programozás alapfogalmai
- Célfüggvény (Objective Function):
Az a függvény, amelyet maximalizálni vagy minimalizálni szeretnénk, például:
- Korlátok (Constraints):
Egyenletek vagy egyenlőtlenségek, amelyek a változók értékét meghatározzák, például:
- Nemnegativitási feltétel:
Minden változó nemnegatív:
- Döntési változók (Decision Variables):
Azok a változók, amelyeket optimalizálni szeretnénk, például .
Egyszerű példa: Termelési optimalizálás
Egy gyár kétféle terméket állít elő: és . A cél a profit maximalizálása.
Probléma megfogalmazása
- Célfüggvény:
Maximalizáljuk a profitot: , ahol az 1-es termék, a 2-es termék darabszámát jelenti.
- Korlátok:
Az erőforrások korlátozottak:
- Gyártási idő:
- Anyaghasználat:
- Nemnegativitási feltétel:
Grafikus megoldás
- Határozzuk meg a korlátok által definiált tartományt:
Az és értékek legyenek olyanok, hogy minden korlátnak megfeleljenek. Ezeket a korlátokat egy koordináta-rendszerben ábrázoljuk.
- Határozzuk meg a metszéspontokat:
- : Ez egy egyenes, amelyet a tengelymetszetek () és () adnak meg.
- : Itt a tengelymetszetek () és ().
- Keressük a célfüggvény optimumát:
A célfüggvény értéke a lehetséges tartomány szélein lesz maximális. Az ilyen metszéspontok közül válasszuk ki a legnagyobb -értéket.
Másik példa: Szállítási probléma
Egy vállalat három raktárból (, , ) szeretne termékeket szállítani két vevőhöz (, ). A szállítási költségek:
- ,
- ,
- ,
Probléma megfogalmazása
- Célfüggvény:
Minimalizáljuk a szállítási költséget:
- Korlátok:
- A raktárak kapacitása:
, ,
- A vevők igényei:
,
- Nemnegativitási feltétel: