Platypus: Rozdiel medzi revíziami

Zo stránky Parametrické a Generatívne 3D modelovanie
(Vytvorená stránka „[https://platypus.readthedocs.io/en/stable/index.html Kižnica Platypus]“)
 
Bez shrnutí editace
 
(4 medziľahlé úpravy od rovnakého používateľa nie sú zobrazené.)
Riadok 1: Riadok 1:
[https://platypus.readthedocs.io/en/stable/index.html Kižnica Platypus]
Platypus je knižnica v jazyku Python, ktorá poskytuje nástroje na riešenie viacrozmerných optimalizačných problémov. V skratke, Platypus implementuje niekoľko algoritmov evolučnej optimalizácie, ktoré hľadajú najlepšie možné riešenia v priestore viacerých cieľových funkcií. Tieto algoritmy pracujú na základe populácií, kde jedinci v populácii predstavujú potenciálne riešenia problému.
 
Tu je stručný prehľad niektorých hlavných funkcií Platypusu a príklad ich použitia:
 
'''Definícia problému:''' Najprv musíte definovať váš optimalizačný problém. To zahŕňa definovanie priestoru parametrov (rozsahy, v ktorých môžu parametre prijímať hodnoty) a cieľových funkcií (funkcie, ktoré sa snažíte minimalizovať alebo maximalizovať).<br>
<pre>
from platypus import Problem, Real
 
# Define optimization problem
problem = Problem(2, 2)  # 2 parameters, 2 objectives
problem.types[:] = [Real(0, 10), Real(0, 10)]  # Parameter ranges
problem.function = your_objective_function  # Your objective function
</pre>
 
Ak v definícii problému nepoužijete konkrétnu špecifikáciu, či sa majú ohodnotenia maximalizovať alebo minimalizovať, Platypus predpokladá, že každá z cieľových funkcií by mala byť minimalizovaná. To znamená, že Platypus bude hľadať riešenia, ktoré minimalizujú hodnoty cieľových funkcií.
 
'''Výber algoritmu:''' Následne vyberiete algoritmus z Platypusu, ktorý chcete použiť na riešenie vášho problému.<br>
<pre>
from platypus import NSGAII
 
# Define and run the optimizer
algorithm = NSGAII(problem, population_size=100)
algorithm.run(100)  # Number of generations
</pre>
 
'''Vyhodnotenie výsledkov:''' Nakoniec si môžete prezrieť výsledky optimalizácie a zistiť najlepšie možné riešenia.<br>
<pre>
# Print the results
for solution in algorithm.result:
    print("Parameters:", solution.variables)  # Decision variable values
    print("Objectives:", solution.objectives)  # Fitness values evaluated by the function
</pre>
 
 
Tento kód vytvorí a vyrieši optimalizačný problém s dvoma parametrami a dvomi cieľovými funkciami pomocou NSGA-II algoritmu. Výsledky sa následne vypíšu na obrazovku.
 
Platypus je užitočným nástrojom pre riešenie viacrozmerných optimalizačných problémov a poskytuje širokú škálu algoritmov, ktoré možno použiť v závislosti od špecifík vášho problému.
 
<br>
'''Zdroje:'''<br>
[https://platypus.readthedocs.io/en/stable/index.html Dokumentácia - Knižnica Platypus]<br>
[https://docs.blender.org/api/current/index.html Dokumentácia - Blender Python API]<br>

Aktuálna revízia z 11:20, 6. máj 2024

Platypus je knižnica v jazyku Python, ktorá poskytuje nástroje na riešenie viacrozmerných optimalizačných problémov. V skratke, Platypus implementuje niekoľko algoritmov evolučnej optimalizácie, ktoré hľadajú najlepšie možné riešenia v priestore viacerých cieľových funkcií. Tieto algoritmy pracujú na základe populácií, kde jedinci v populácii predstavujú potenciálne riešenia problému.

Tu je stručný prehľad niektorých hlavných funkcií Platypusu a príklad ich použitia:

Definícia problému: Najprv musíte definovať váš optimalizačný problém. To zahŕňa definovanie priestoru parametrov (rozsahy, v ktorých môžu parametre prijímať hodnoty) a cieľových funkcií (funkcie, ktoré sa snažíte minimalizovať alebo maximalizovať).

from platypus import Problem, Real

# Define optimization problem
problem = Problem(2, 2)  # 2 parameters, 2 objectives
problem.types[:] = [Real(0, 10), Real(0, 10)]  # Parameter ranges
problem.function = your_objective_function  # Your objective function

Ak v definícii problému nepoužijete konkrétnu špecifikáciu, či sa majú ohodnotenia maximalizovať alebo minimalizovať, Platypus predpokladá, že každá z cieľových funkcií by mala byť minimalizovaná. To znamená, že Platypus bude hľadať riešenia, ktoré minimalizujú hodnoty cieľových funkcií.

Výber algoritmu: Následne vyberiete algoritmus z Platypusu, ktorý chcete použiť na riešenie vášho problému.

from platypus import NSGAII

# Define and run the optimizer
algorithm = NSGAII(problem, population_size=100)
algorithm.run(100)  # Number of generations

Vyhodnotenie výsledkov: Nakoniec si môžete prezrieť výsledky optimalizácie a zistiť najlepšie možné riešenia.

# Print the results
for solution in algorithm.result:
    print("Parameters:", solution.variables)  # Decision variable values
    print("Objectives:", solution.objectives)  # Fitness values evaluated by the function


Tento kód vytvorí a vyrieši optimalizačný problém s dvoma parametrami a dvomi cieľovými funkciami pomocou NSGA-II algoritmu. Výsledky sa následne vypíšu na obrazovku.

Platypus je užitočným nástrojom pre riešenie viacrozmerných optimalizačných problémov a poskytuje širokú škálu algoritmov, ktoré možno použiť v závislosti od špecifík vášho problému.


Zdroje:
Dokumentácia - Knižnica Platypus
Dokumentácia - Blender Python API