Ugrás a tartalomhoz

global optimization

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


Főnév

global optimization (tsz. global optimizations)

  1. (informatika) Global optimization (globális optimalizálás) az optimalizálás egyik ága, amelynek célja a lehető legjobb megoldás megtalálása egy célfüggvényre egy adott tartományon belül, figyelembe véve az összes lehetséges lokális minimumot vagy maximumot.

Ez különösen fontos olyan problémáknál, ahol a célfüggvény nem konvex, és sok lokális optimum található – és ezek közül csak egy az igazi globális optimum.



🧠 1. Mi az a globális optimalizálás?

Cél:

Megtalálni azt az pontot, amely az egész tartományban minimalizálja (vagy maximalizálja) a célfüggvényt:

ahol , és nem feltétlenül konvex.



📉 2. Lokális vs globális optimum

  • Lokális minimum: olyan pont, amely a szűk környezetében minimum.
  • Globális minimum: a teljes tartományon belül a legkisebb értéket adó pont.

A globális optimalizálás célja: megtalálni a globális optimumot, nem csak a legközelebbi lokálist.



📦 3. Problématípusok

✅ Korlátos/nem korlátos

  • Pl. , vagy nincs konkrét tartománymegkötés

✅ Folytonos/diszkrét

  • Folytonos globális optimalizálás: reális értékekre
  • Diszkrét/globális kombinatorikus optimalizálás: egész számú vagy bináris változók

✅ Sima/nem sima

  • Deriválható vagy nem deriválható függvények



⚙️ 4. Megoldási módszerek

🔁 4.1 Determinista módszerek (pontos, de lassúbb)

Módszer Jellemző
Branch and Bound Részhalmazokat vizsgál → kizárás
Interval arithmetic Folytonos szűkítés
Global Lipschitz Használja a függvény deriváltkorlátait
DIRECT algorithm Fejlesztett intervallumos keresés
Outer approximation Nemlineáris programozás iteratív becslésekkel



🎲 4.2 Stochastic/metaheuristic módszerek

Módszer Leírás
Simulated Annealing Véletlenszerű próbálkozások, elfogad „rosszabb” megoldást is
Genetikus algoritmus Evolúció alapján: kiválasztás, keresztezés, mutáció
Particle Swarm Optimization Csoportos tanulás, részecskék mozognak a térben
Differential Evolution Populáció alapú, vektoralgebrai keresés
Bayesian Optimization Probabilisztikus modell (pl. Gaussian Process), kiszámított mintavétel



🧪 5. Példa: Pythonban – Simulated Annealing

import numpy as np
import math
import random

def f(x):  # célfüggvény: több minimum
    return x**2 + 10*np.sin(x)

def simulated_annealing(f, x0, T0=10, alpha=0.95, max_iter=1000):
    x = x0
    best = x
    T = T0
    for i in range(max_iter):
        x_new = x + np.random.uniform(-1, 1)
        delta = f(x_new) - f(x)
        if delta < 0 or np.random.rand() < math.exp(-delta / T):
            x = x_new
            if f(x) < f(best):
                best = x
        T *= alpha
    return best, f(best)

opt, val = simulated_annealing(f, x0=0)
print(f"Minimum at x = {opt}, value = {val}")

🧰 6. Népszerű szoftverek globális optimalizáláshoz

Szoftver Típus Jellemzők
NLopt Determinisztikus + sztochasztikus módszerek
PyGMO Evolúciós algoritmusok gyűjteménye
GEKKO Dinamikus rendszerek globális NLP optimalizálása
scipy.optimize.differential_evolution Beépített Python-algoritmus
Baron Kereskedelmi, determinisztikus globális optimalizáló
DAKOTA, Couenne, GloMIQO Haladó, akadémiai eszközök



📈 7. Alkalmazások

Terület Példa
Gépi tanulás Hiperparaméter-optimalizálás
Pénzügy Portfólió kiválasztás, kockázat minimalizálás
Mérnöki tervezés Szerkezetoptimalizálás
Kémia/fizika Molekuláris energia minimum keresése
Bioinformatika Fehérjeszerkezet előrejelzés



📌 8. Összefoglalás

Fogalom Leírás
Globális optimalizálás A célfüggvény legjobb (globális) megoldásának megtalálása
Problémák Nem konvex, több lokális minimum
Megoldások Heurisztikus, sztochasztikus vagy determinisztikus
Python könyvtárak SciPy, NLopt, Optuna, PyGMO, GEKKO
Használati területek AI, pénzügy, tudomány, mérnöki tudományok