Съдържание

# Настройки на алгоритмите за решаване

## Еволюционен алгоритъм DEPS

DEPS се състои от два независими алгоритъма: диференциална еволюция (Differential Evolution) и оптимизация с рояк от частици (Particle Swarm Optimization). И двата са особено подходящи за числови задачи, например нелинейно оптимиране, и се допълват един друг, като взаимно компенсират недостатъците си.

Настройка | Описание
--- | ---
Ниво на превключване на агента | Указва вероятността индивид да избере стратегията DE (диференциална еволюция).
Променливите са неотрицателни | Отметнете, за да наложите ограничение променливите да бъдат само неотрицателни.
DE: вероятност за кръстосване | Задава вероятността индивид да бъде комбиниран с глбалната най-добра точка. Ако не се използва кръстосване, точката се съставя от собствената памет на индивида.
DE: коефициент на мащабиране | При кръстосване коефициентът на мащабиране определя „скоростта“ на движението.
Обучаващи цикли | Задава броя на итерациите за алгоритъма. На всяка итерация всеки индивид прави предположение за най-доброто решение и споделя знанието си с останалите.
PS: когнитивна константа | Задава тежестта на собствената памет (в частност най-добрата достигната до момента точка).
PS: коефициент на свиване | Задава скоростта, с която частиците/индивидите се движат един към друг.
PS: вероятност за мутация | Задава вероятността вместо преместване на компонент от частицата към най-добрата точка да бъде избрана случайна нова стойност от допустимия диапазон за съответната променлива.
PS: социална константа | Задава тежестта на глобалната най-добра точка между всички частици/индивиди.
Показване на разширено състояние | Ако е включено, по време на решаването се показва допълнителен диалогов прозорец с информация относно хода на процеса, нивото на стагнация и текущото най-добро известно решение, както и възможност решаването да бъде спряно или продължено.
Размер на роя | Задава броя на индивидите, участващи в процеса на обучение. Всеки индивид намира собствени решения и допринася за общото знание.
Граница за стагнация | Ако този брой индивиди са намерили решения в тесен интервал, итерациите спират и най-добрата от въпросните стойности се избира като оптимална.
Толеранс за стагнация | Определя в какъв интервал решенията се считат за „сходни“.

Сравняване чрез ACR

Ако е изключено (по подразбиране), се използва сравняване чрез BCH. При него два индивида се сравняват, като първо се вземат техните нарушения на ограниченията и само ако те са еднакви, се сравняват текущите им решения.

Ако е включено, се използва сравняване чрез ACR. При него два индивида се сравняват според текущата итерация и се оценяват с отчитане на информация за най-лошите известни решения в библиотеката (по отношение на техните нарушения на ограниченията).

Използване на случайна начална точка | Ако е включено, библиотеката просто се запълва със случайно избрани точки. Ако е изключено, текущите стойности (както са зададени от потребителя) се вмъкват в библиотеката като отправна точка.
Оценка на границите на променливите | Ако е включено (по подразбиране), алгоритъмът се опитва да намери границите на променливите въз основа на началните стойности.
Праг за границите на променливите | При оценяване границите на променливите този праг определя как се изместват началните стойности, за да се получат границите. За пример относно начина на изчисление на тези стойности се обърнете към ръководството в уикисайта.

## Еволюционен алгоритъм SCO

Социалната когнитивна оптимизация (Social Cognitive Optimization) се базира на човешкото поведение при придобиване и споделяне на информация. Всеки индивид има достъп до обща библиотека със знание, споделена между всички индивиди.

Настройка | Описание
--- | ---
Променливите са неотрицателни | Отметнете, за да наложите ограничение променливите да бъдат само неотрицателни.
Обучаващи цикли | Задава броя на итерациите за алгоритъма. На всяка итерация всеки индивид прави предположение за най-доброто решение и споделя знанието си с останалите.
Показване на разширено състояние | Ако е включено, по време на решаването се показва допълнителен диалогов прозорец с информация относно хода на процеса, нивото на стагнация и текущото най-добро известно решение, както и възможност решаването да бъде спряно или продължено.
Размер на библиотеката | Задава броя сведения, които да се съхраняват в общодостъпната библиотека. Всеки индивид запазва знание там и дава заявки за сведения.
Размер на роя | Задава броя на индивидите, участващи в процеса на обучение. Всеки индивид намира собствени решения и допринася за общото знание.
Граница за стагнация | Ако този брой индивиди са намерили решения в тесен интервал, итерациите спират и най-добрата от въпросните стойности се избира като оптимална.
Толеранс за стагнация | Определя в какъв интервал решенията се считат за „сходни“.

Сравняване чрез ACR

Ако е изключено (по подразбиране), се използва сравняване чрез BCH. При него два индивида се сравняват, като първо се вземат техните нарушения на ограниченията и само ако те са еднакви, се сравняват текущите им решения.

Ако е включено, се използва сравняване чрез ACR. При него два индивида се сравняват според текущата итерация и се оценяват с отчитане на информация за най-лошите известни решения в библиотеката (по отношение на техните нарушения на ограниченията).

Оценка на границите на променливите | Ако е включено (по подразбиране), алгоритъмът се опитва да намери границите на променливите въз основа на началните стойности.
Праг за границите на променливите | При оценяване границите на променливите този праг определя как се изместват началните стойности, за да се получат границите. За пример относно начина на изчисление на тези стойности се обърнете към ръководството в уикисайта.

## Модули Linear Solver и CoinMP Linear Solver на LibreOffice

Настройка | Описание
--- | ---
Променливите са цели числа | Отметнете, за да наложите ограничение променливите да бъдат само целочислени.
Променливите са неотрицателни | Отметнете, за да наложите ограничение променливите да бъдат само неотрицателни.
Епсилон-ниво | Епсилон ниво. Валидните стойности са в диапазона от 0 (много тесен интервал) до 3 (много широк интервал). Епсилон е толерансът за закръгляване на стойности към нула.
Дълбочина за разклонения и граници | Задава максималната дълбочина за разклонения и граници. Положителна стойност означава абсолютна дълбочина. Отрицателна стойност означава относително ограничение на дълбочината за разклонения и граници.
Срок за решаване | Указва максималния срок, в който алгоритъмът да достигне до решение.

## LibreOffice Swarm Non-Linear Solver (експериментален)

Настройка | Описание
--- | ---
Променливите са цели числа | Отметнете, за да наложите ограничение променливите да бъдат само целочислени.
Променливите са неотрицателни | Отметнете, за да наложите ограничение променливите да бъдат само неотрицателни.
Срок за решаване | Указва максималния срок, в който алгоритъмът да достигне до решение.
Алгоритъм на роя | Задава алгоритъма на роя. 0 означава диференциална еволюция, а 1 – оптимизация с рояк от частици. Подразбира се 0.

Теми, свързани с показаната

Настройки на Solver

Solver

Уикистраница за нелинейните решатели и алгоритмите им

Справочник за lp_solve в sourceforge.net