Работа с дискретни променливи
В случаите когато една или повече променливи трябва да приемат само предварително определени стойности е възможно да се дефинират дискретни променливи. Ако променливата е дефинирана като дискретна, оптимизацията или програмите за начертаване на графики ще използват дискретни стойности.
Ще демонстрираме това на един от моделите, включени във файла 'Optimization models.qsl'.
След извикване на файла трябва да изтриете всичко излишно, така че да работите с това което ще остане. За да направите това, изберете всички модели без първия, кликнете десния бутон и използвайте „Изчисти колона”:
Остава само първият модел:

Този модел няма дискретни променливи и ще бъде третиран като модел с непрекъснати променливи. Може да се види, че минималната стойност е в центъра, където всички променливи са равни на 0, а максимумите са в ъглите, където стойностите на променливите на квадрат са максимални.

Сега да предположим, че първата променлива може да приема само следните стойности: -5.1; 4.3; 0.4; 2.9; 4.3. Можем да дефинираме това, като включим в колоната за дефиниране на модела следното dvar1 = -5.1; 4.3; 0.4; 2.9; 4.3:

При създаването на контурна диаграма за този модел компютърът ще изчисли целевата функция при допустимите дискретни стойности на var1 и ще третира var2 като непрекъсната:

Друг начин за дефиниране на дискретна променлива е чрез указване на обхват от клетки, които съдържат дискретни стойности. Този начин е по-удобен, ако имаме повече дискретни нива. Следната таблица е организирана по този начин:

В този случай само променливата var2 е дефинирана като дискретна, а var1 се третира като непрекъсната. Това се вижда от следната контурна диаграма:

Следва комбинация от по-горните два примера. Променливите var1 и var2 са дефинирани като дискретни.

Целевата функция е изчислена само при определените дискретни стойности:

За да се извърши оптимизацията, използвайте бутона „Оптимизация”. Следващият пример илюстрира използването на метода „Сканиране (SCAN)”, който сканира по дискретните стойности и избира минимална стойност на целевата функция. Обърнете внимание, че независимо, че в непрекъснатото пространство оптимумът е 0 при var1=var2=0, в този пример с дискретни променливи минимумът е 0.16 при var1=0.4 и var2 = 0, което се дължи на факта, че var1 = 0 не е допустима дискретна стойност.

Обърнете внимание, че дискретните променливи сега са отбелязани с (D) и само дискретни стойности са допустими за тях:

Като се кликне бутона „Визуализация” ще се види оптимизационната процедура с използване на дискретни променливи:

Ако се върнем към екрана с контурните диаграми, можем да видим резултатите от оптимизацията като изберем „Върни”:

Обърнете внимание, че могат да се чертаят контурни диаграми в непрекъснато пространство за която и да е дискретна променлива, като се използва опцията 'изчертай като непрекъсната' след избиране на една от променливите. По-долу това е показано за var1:

и за променливата var2:

или с двете променливи:
