---
title: "Nemlineáris programozás"
source: "https://systems-analysis.info/int/Nemline%C3%A1ris_programoz%C3%A1s"
wiki: "systems-analysis.info/int"
article: "Nemlineáris_programozás"
language: "hu"
categories:
  - "Category:Hungarian"
  - "Category:Mathematical modeling"
  - "Category:Modeling"
  - "Category:Operations research"
revision_id: 4841
wiki_created_at: 2026-09-06T23:40:40Z
wiki_modified_at: 2026-09-06T23:40:40Z
downloaded_at: 2026-09-07T23:04:58Z
---

# Nemlineáris programozás

**A nemlineáris programozás (NLP)** a matematikai programozás és az operációkutatás olyan ága, amely olyan optimalizálási feladatokkal foglalkozik, ahol a célfüggvény és/vagy legalább egy korlát a döntési változók **nemlineáris függvénye**.

Az NLP a lineáris programozás általánosítása, és lehetővé teszi a valós rendszerek és folyamatok szélesebb osztályának modellezését, ahol a változók közötti összefüggések nem szigorúan arányosak (azaz görbékkel, nem egyenes vonalakkal írhatók le).

## Tárgy és rendeltetés

A nemlineáris programozást olyan helyzetekben alkalmazzák optimális megoldások keresésére, amikor:

- A célmutató (nyereség, költség, hatékonyság stb.) és a vezérelt paraméterek közötti összefüggés nemlineáris (például csökkenő léptékhozam, másodfokú költségek).
- Az erőforrásokra vagy technológiai folyamatokra vonatkozó korlátok nemlineáris összefüggésekkel írhatók le (például kémiai reakciók, fizikai törvények, gazdasági összefüggések).

  
NLP-feladatok számos területen merülnek fel:

- Mérnöki tervezés (szerkezetek és folyamatok optimalizálása).
- Közgazdaságtan és pénzügyek (portfólióoptimalizálás kockázattal, piaci modellezés).
- Vegyipari technológia (reaktorüzemmódok optimalizálása).
- Machine Learning (neurális hálózatok tanítása, support vector machine).
- Termelési folyamatok irányítása. Logisztika (nemlineáris költségek figyelembevételével).

## Az NLP-feladat matematikai megfogalmazása

A nemlineáris programozás általános feladata a következőképpen fogalmazható meg:

Meg kell találni a **döntési változók** olyan értékkészletét, amely maximalizál vagy minimalizál egy **nemlineáris célfüggvényt**. A változók értékeinek eleget kell tenniük egy **korlátrendszernek**, amelyek kifejezhetők **egyenlőtlenségek** formájában (például „az A mennyiség kisebb vagy egyenlő B-vel"), valamint **egyenlőségek** formájában (például „a C mennyiség pontosan egyenlő D-vel"). Fontos, hogy a célt vagy a korlátokat leíró függvények közül legalább egy **nemlineáris**. Gyakran hozzáadják a változók **nemnegatívitási feltételét** is, azaz azt a követelményt, hogy értékeik nagyobbak vagy egyenlők legyenek nullával.

Az összes olyan változóértékkészlet, amely kielégíti a korlátokat, alkotja a **megengedett megoldások tartományát (MMT)**.

## Különbségek a lineáris programozástól

A nemlineáris programozás lényegesen különbözik a lineáris programozástól (LP):

- Nemlinearitás: A célfüggvény vagy a korlátok (vagy mindkettő) nemlineáris összefüggéseket tartalmaznak.
- Az MMT tulajdonságai: A megengedett megoldások tartománya NLP esetén nemkonvex lehet (szemben az LP-vel, ahol az MMT mindig konvex sokszög).
- Az optimum tulajdonságai: Az optimális megoldás NLP esetén nem feltétlenül az MMT csúcsában található, a tartomány határán vagy belsejében is elhelyezkedhet. NLP esetén létezhetnek lokális optimumok, amelyek nem globálisak.
- A megoldás összetettsége: Az NLP-feladatok általában lényegesen nehezebbek a megoldás szempontjából, mint az LP-feladatok. Nem létezik egyetlen univerzális algoritmus, amely az összes NLP-feladatra alkalmazható lenne, hasonlóan a szimplex-módszerhez.

## Az NLP fő nehézségei és kihívásai

A nemlineáris programozási feladatok megoldása számos nehézséggel jár:

- Lokális szélsőértékek jelenléte: Az NLP-módszerek többsége csak lokális optimum (egy bizonyos környezetben legjobb megoldás) megtalálását garantálja. A globális optimum (az egész MMT-n legjobb megoldás) keresése összetett feladat, különösen nemkonvex problémák esetén.
- Nemkonvexitás: Ha a feladat nem konvex (a célfüggvény vagy az MMT nemkonvex), több lokális optimum is létezhet, és a szokásos gradiens módszerek ezek egyikébe „ragadhatnak".
- Számítási komplexitás: Az NLP megoldási algoritmusai gyakran lényegesen nagyobb számítási erőforrást igényelnek az LP-hez képest.

## Az NLP feladatok fontos osztályai

Az általános összetettsége ellenére léteznek fontos NLP-feladatosztályok, amelyekre hatékony megoldási módszereket dolgoztak ki:

- Konvex programozás: Konvex függvény minimalizálása konvex megengedett megoldáshalmazon (vagy konkáv függvény maximalizálása). Kulcstulajdonság: bármely lokális minimum egyben globális minimum is. Ez jelentősen megkönnyíti az optimális megoldás keresését.
- Kvadratikus programozás: A célfüggvény másodfokú, és az összes korlát lineáris.
- Szeparábilis programozás: A célfüggvény és a korlátok olyan függvények összegeként ábrázolhatók, amelyek mindegyike csak egyetlen változótól függ.

## Az NLP-feladatok megoldási módszerei

A nemlineáris programozási (NLP) feladatok megoldási módszerei

**I. Feltétel nélküli optimalizálás módszerei (korlátozások nélküli optimalizálás):**

- Gradiens módszerek (legmeredekebb ereszkedés módszere, konjugált gradiens módszer);
- Newton-módszer és kvázi-Newton módszerek (például BFGS);
- A Hesse-mátrix approximációját alkalmazó módszerek.

**II. Feltételes optimalizálás módszerei (korlátozásokkal rendelkező optimalizálás):**

- Transzformációs módszerek:
  - Büntetőfüggvény-módszer (penalty methods);
  - Barriersfüggvény-módszer (barrier methods).
- Közvetlen iránykeresési módszerek:
  - Lehetséges irányok módszere.
- Optimalitási feltételeken alapuló módszerek:
  - Karush–Kuhn–Tucker-módszerek (KKT-feltételek);
  - Lagrange-szorzók módszere.
- Iteratív módszerek:
  - Szekvenciális kvadratikus programozás (SQP);
  - Belső pont módszerek.

**III. Globális optimalizálás módszerei:**

- Heurisztikus és metaheurisztikus módszerek:
  - Genetikus algoritmusok;
  - Szimulált lehűtés (szimulált anneling);
  - Tabu search.
- Determinisztikus módszerek:
  - Elágazás és korlátok (branch and bound);
  - Speciális szerkezetű feladatok globális optimalizálási algoritmusai.

## Irodalom

- *Bazara, M.; Shetty, C.* Nелинейное программирование. Теория и алгоритмы. — М.: Мир, 1982.
- *Fiacco, A.; McCormick, G.* Нелинейное программирование. Методы последовательной безусловной минимизации. — М.: Мир, 1972.
- *Himmelblau, D.* Прикладное нелинейное программирование. — М.: Мир, 1975.
- *Nocedal, Jorge; Wright, Stephen J.* Numerical Optimization. — Springer, 2006. (2nd ed.)

## Lásd még

- Operációkutatás
- Optimalizálás
- Lineáris programozás
- Konvex programozás
- Célfüggvény
- Korlátok
- Megengedett megoldások tartománya
