szó jelentését keresi. A DICTIOUS-ban nem csak a
szó összes szótári jelentését megtalálod, hanem megismerheted az etimológiáját, a jellemzőit és azt is, hogyan kell a
szót egyes és többes számban mondani. Minden, amit a
szóról tudni kell, itt található. A
szó meghatározása segít abban, hogy pontosabban és helyesebben fogalmazz, amikor beszélsz vagy írsz. A
és más szavak definíciójának ismerete gazdagítja a szókincsedet, és több és jobb nyelvi forráshoz juttat.
Főnév
branch and bound (tsz. branch and bounds)
- (informatika) korlátozás és szétválasztás módszere
A Branch and Bound (röviden: B&B) egy kombinatorikus optimalizálási módszer, amellyel NP-nehéz problémák (pl. hátizsák probléma, utazó ügynök probléma, hozzárendelési feladat) optimális megoldása kereshető. A módszer alapötlete az, hogy a megoldási lehetőségeket rendszeresen szétágaztatjuk (branch), miközben egy felső vagy alsó korlátot (bound) használunk arra, hogy kizárjuk azokat a részeredményeket, amelyek biztosan nem vezetnek optimális megoldáshoz.
A módszer lényege tehát:
- Szisztematikus keresés a megoldástérben
- Gyors kizárás az ígéretesnek nem tűnő részekből
2. A módszer fő lépései
A Branch and Bound három kulcsfogalomra épül:
✅ Branch (ágaztatás)
A probléma kisebb részproblémákra való bontása. Minden ilyen részprobléma egy „csomópont” a keresési fában.
✅ Bound (korlát)
Minden részproblémához meghatározunk egy becslést (pl. alsó határt a minimális költségre). Ha ez a becslés rosszabb, mint egy már megtalált megoldás, akkor az adott ágat elvethetjük.
✅ Prune (metszés)
Azokat a részproblémákat, amelyek biztosan nem vezetnek jobb megoldáshoz, nem vizsgáljuk tovább – ezekből nem képzünk új ágakat. Ez a metszés a módszer legfontosabb hatékonysági trükkje.
3. Hogyan működik ez a gyakorlatban?
Vegyünk egy egyszerű bináris döntési problémát: például a 0–1 hátizsák problémát.
- Minden elemnél két lehetőség van: belerakjuk a hátizsákba (1) vagy nem rakjuk bele (0)
- A keresési tér tehát egy bináris fa, ahol minden szint egy-egy elemről dönt
A B&B módszer minden csomópontra:
- Kiszámítja a részmegoldás értékét (pl. súly és érték)
- Ellenőrzi, hogy túl nehéz-e → ha igen: metsz
- Kiszámítja az elméleti legjobb elérhető értéket (pl. frakcionált knapsack módszerrel) → bound
- Ha az elméleti maximum sem jobb, mint az eddigi legjobb → metsz
4. Egyszerű példa: 0–1 Knapsack
Adatok:
- Kapacitás: 10
- Tételek:
- érték: 60, súly: 2
- érték: 100, súly: 4
- érték: 120, súly: 6
Megoldási ötlet:
- Először rendezzük az elemeket érték/súly szerint (ez segíti a bound kiszámítását)
- Használjunk frakcionált knapsack becslést a bound-hoz
- Készítsünk bináris döntési fát, ahol minden szinten egy elemről döntünk (igen/nem)
A B&B módszer segítségével csak néhány csomópontot kell végigvizsgálni, nem az összes
lehetőséget.
5. Használati területek
A Branch and Bound módszer széles körben használható olyan problémákra, ahol a megoldási tér diszkrét vagy kombinatorikus:
🔹 0–1 hátizsák probléma
Elemek kiválasztása adott kapacitás mellett, hogy az érték maximális legyen.
🔹 Utazó ügynök probléma (TSP)
Legkisebb körút megtalálása, amely minden várost pontosan egyszer érint.
🔹 Hozzárendelési feladatok (assignment problems)
Pl. gépek hozzárendelése feladatokhoz minimális költséggel.
🔹 Integer Programming
Egészértékű változókra optimalizált lineáris modellek.
🔹 Vágás- és készletoptimalizálás
Cutting-stock probléma, crew scheduling, shift planning, stb.
6. Előnyei és hátrányai
✅ Előnyök:
- Optimális megoldást ad (ellentétben a heurisztikákkal)
- Jó hatékonyság metszési stratégiák esetén
- Rugalmasan testreszabható különféle problémákra
❌ Hátrányok:
- Nagy számítási igény nagy keresési tér esetén
- Sok memória kellhet
- Jó bound függvény hiányában lassú lehet
7. Adatszerkezet és stratégia
A megvalósításhoz gyakran használnak:
- Prioritási sorokat (priority queue / heap), ahol mindig a legígéretesebb csomópontot dolgozzák fel elsőként (pl. legjobb bound)
- DFS vagy BFS alapú fabejárási stratégiát
- Memoizációt, hogy az ismételt részeredményeket ne számoljuk újra
8. Heurisztikák kombinálása
A B&B módszer gyakran kombinálható más módszerekkel:
- Greedy heurisztika kezdeti megoldás keresésére → javítja a metszés hatékonyságát
- Frakcionált relaxáció → gyors és jó bound
- Dynamic programming → részproblémák gyors megoldására
9. Példa döntési fára
/ \
/ \ / \
← minden ág újabb döntést reprezentál
Minden szinten egy új elemről döntünk. A bound érték alapján metszünk.
10. Összefoglalás
A Branch and Bound módszer egy hatékony, pontos és széles körben alkalmazható optimalizálási módszer:
- Optimalitást garantál, nem csak közelít
- Nagy problémákat is tud kezelni, ha jó metszés és becslés van
- Strukturált faalapú keresés, ahol csak az ígéretes részeket járjuk be