Vsebina

# Možnosti algoritmov reševalca

## Evolucijski algoritem DEPS

DEPS sestavljata dva neodvisna algoritma: diferencialna evolucija in optimizacija jat delcev. Oba sta posebej primerna za numerične probleme, kot je nelinearna optimizacija, ter sta drug drugemu komplementarna na način, da medsebojno kompenzirata slabosti drug drugega.

Nastavitev | Opis
--- | ---
Hitrost preklopa agenta | Določa verjetnost, da posameznik izbere strategijo diferenčne evolucije (DE).
Privzemi spremenljivke kot nenegativne | Potrdite polje, če želite, da imajo spremenljivke samo pozitivne vrednosti.
DE: Verjetnost sekanja | Določa verjetnost posameznika, kombinirano z globalno najboljšo točko. Če sekanje ni uporabljeno, je točka sestavljena iz lastnega spomina posameznika.
DE: Faktor spremembe merila | Med sekanjem faktor spremembe merila odloča o »hitrosti« gibanja.
Učni cikli | Določa število iteracij, ki naj jih izvede algoritem. V vsaki iteraciji vsak posameznik opravi ugibanje o najboljši rešitvi in deli znanje z drugimi.
PS: Kognitivna konstanta | Nastavi pomembnost lastnega spomina (še posebej najboljše doslej dosežene točke).
PS: Koeficient krčenja | Določa hitrosti, pri kateri se delci/posamezniki premikajo drug proti drugemu.
PS: Verjetnost mutacije | Določa verjetnost, da namesto premikanja komponente delca proti najboljši točki naključno izbere novo vrednost iz veljavnega obsega za to spremenljivko.
PS: Socialna konstanta | Nastavi pomembnost globalno najboljše točke med vsemi delci/posamezniki.
Pokaži napredno stanje reševalca | Če je omogočeno, je med postopkom reševanja prikazano dodatno pogovorno okno, ki obvešča o trenutnem napredku, o ravni stagnacije, trenutni najboljši rešitvi kot tudi o možnosti ustavitve ali nadaljevanja dela reševalca.
Velikost jate | Določa število posameznikov, ki sodelujejo v postopku učenja. Vsak posameznik najde lastne rešitve in prispeva skupnemu znanju.
Meja stagnacije | Če takšno število posameznikov najde rešitve v bližnjem obsegu, se iteracija ustavi in najboljša izmed teh vrednosti bo izbrana kot optimalna.
Toleranca stagnacije | Določa, v katerem obsegu veljajo rešitve za »podobne«.

Uporabi primerjalnik ACR

Če je onemogočeno (privzeto), je uporabljen primerjalnik BCH. Slednji primerja dva posameznika najprej z njunim kršenjem omejitev in le če sta slednji enaki, oceni njuno trenutno rešitev.

Če je omogočeno, je uporabljen primerjalnik ACR. Slednji primerja dva posameznika glede na trenutno iteracijo in oceni njuno kakovost z znanjem o najslabših znanih rešitvah v knjižnici (glede na njihove kršitve omejitev).

Uporabi naključno izhodiščno točko | Če je omogočeno, se knjižnica enostavno zapolni z naključno izbranimi točkami. Če je onemogočeno, so trenutno prisotne vrednosti (kot jih je podal uporabnik) vstavljene v knjižnico kot referenčne točke.
Ugibanje omejitev spremenljivk | Če je vključeno (privzeto), poskuša algoritem najti omejitve spremenljivk z upoštevanjem začetnih vrednosti.
Prag omejitev spremenljivk | Pri ugibanju omejitev spremenljivk ta prag določa, kako se začetne vrednosti zamaknejo pri določanju omejitev. Če želite videti primer, kako se te vrednosti izračunajo, si oglejte priročnik na wikiju.

## Evolucijski alrgoritem SCO

Socialna kognitivna optimizacija (SKO oz. angl. SCO za Social Evolutionary Optimization) upošteva človeško vedenje učenja in deljenja informacij. Vsak posameznik ima dostop do splošne, javne knjižnice, prek katere se znanje deli med vsemi posamezniki.

Nastavitev | Opis
--- | ---
Privzemi spremenljivke kot nenegativne | Potrdite polje, če želite, da imajo spremenljivke samo pozitivne vrednosti.
Učni cikli | Določa število iteracij, ki naj jih izvede algoritem. V vsaki iteraciji vsak posameznik opravi ugibanje o najboljši rešitvi in deli znanje z drugimi.
Pokaži napredno stanje reševalca | Če je omogočeno, je med postopkom reševanja prikazano dodatno pogovorno okno, ki obvešča o trenutnem napredku, o ravni stagnacije, trenutni najboljši rešitvi kot tudi o možnosti ustavitve ali nadaljevanja dela reševalca.
Velikost knjižnice | Določa količino informacij, hranjenih v javni knjižnici. Vsak posameznik tam shrani znanje in sprašuje za informacijami.
Velikost jate | Določa število posameznikov, ki sodelujejo v postopku učenja. Vsak posameznik najde lastne rešitve in prispeva skupnemu znanju.
Meja stagnacije | Če takšno število posameznikov najde rešitve v bližnjem obsegu, se iteracija ustavi in najboljša izmed teh vrednosti bo izbrana kot optimalna.
Toleranca stagnacije | Določa, v katerem obsegu veljajo rešitve za »podobne«.

Uporabi primerjalnik ACR

Če je onemogočeno (privzeto), je uporabljen primerjalnik BCH. Slednji primerja dva posameznika najprej z njunim kršenjem omejitev in le če sta slednji enaki, oceni njuno trenutno rešitev.

Če je omogočeno, je uporabljen primerjalnik ACR. Slednji primerja dva posameznika glede na trenutno iteracijo in oceni njuno kakovost z znanjem o najslabših znanih rešitvah v knjižnici (glede na njihove kršitve omejitev).

Ugibanje omejitev spremenljivk | Če je vključeno (privzeto), poskuša algoritem najti omejitve spremenljivk z upoštevanjem začetnih vrednosti.
Prag omejitev spremenljivk | Pri ugibanju omejitev spremenljivk ta prag določa, kako se začetne vrednosti zamaknejo pri določanju omejitev. Če želite videti primer, kako se te vrednosti izračunajo, si oglejte priročnik na wikiju.

## Linearni reševalec LibreOffice in linearni reševalec CoinMP

Nastavitev | Opis
--- | ---
Privzemi spremenljivke kot celoštevilske | Potrdite polje, če želite, da imajo spremenljivke samo celoštevilske vrednosti.
Privzemi spremenljivke kot nenegativne | Potrdite polje, če želite, da imajo spremenljivke samo pozitivne vrednosti.
Raven epsilona | Raven epsilon; veljavne vrednosti so v obsegu od 0 (zelo ozko) do 3 (zelo široko). Epsilon je toleranca zaokrožanja vrednosti na nič.
Omeji globino razvejaj-in-poveži | Določa največjo globino razvejaj-in-poveži. Pozitivna vrednost predstavlja absolutno globino. Negativna vrednost predstavlja relativno omejitev globine razvejaj-in-poveži.
Časovna omejitev reševanja | Določa skrajni čas, v katerem mora algoritem konvergirati k rešitvi.

## Nelinearni reševalec LibreOffice z jatami (poskusno)

Nastavitev | Opis
--- | ---
Privzemi spremenljivke kot celoštevilske | Potrdite polje, če želite, da imajo spremenljivke samo celoštevilske vrednosti.
Privzemi spremenljivke kot nenegativne | Potrdite polje, če želite, da imajo spremenljivke samo pozitivne vrednosti.
Časovna omejitev reševanja | Določa skrajni čas, v katerem mora algoritem konvergirati k rešitvi.
Algoritem jate | Določite algoritem jate: 0 – diferencialna evolucija, 1 – optimizacija jate delcev. Privzeta vrednost je 0.

Podobne teme

Možnosti Reševalca

Reševalec

Stran wiki o nelinearnih reševalcih in njihovih algoritmih (v angl.)

Vodnik "lp_solve reference guide" na sourceforge.net