За прости проблеми Solver в Excel обикновено бързо намира оптималните стойности на променливата Solver за целевата функция. Но в някои случаи Solver има проблеми с намирането на стойностите на променливата Solver, които оптимизират целевата функция. В тези случаи Solver обикновено показва съобщение или съобщение за грешка, което описва или обсъжда проблема, който има с вашия проблем.
Solver намери решение
Съобщението ви казва, че Solver е свършил работа и е намерил набор от стойности на променливи, които отговарят на вашите ограничения.
Solver се доближи до текущото решение
Съобщението ви казва, че Excel е намерил решение, но не е особено уверен в решението. По същество това съобщение ви предупреждава за възможността да съществува по-добро решение на проблема ви с оптимизационното моделиране. За да потърсите по-добро решение, коригирайте настройката Конвергенция в диалоговия прозорец Опции за решаване, така че Excel да работи на по-високо ниво на точност.
Solver не може да подобри текущото решение
Съобщението ви казва, че Excel е изчислил грубо, доста точно решение, но отново може да успеете да намерите по-добро решение. За да кажете на Excel, че трябва да търси по-добро решение, трябва да увеличите настройката за прецизност, която Solver използва.
Това означава, разбира се, че Excel ще отнеме повече време. Но това допълнително време може да доведе до намирането на по-добро решение. За да регулирате точността, отново използвате диалоговия прозорец Опции за решаване.
Избрано спиране при достигане на максималното време
Съобщението ви казва, че времето на Excel е изтекло. Можете да опитате отново да решите проблема с оптимизационното моделиране с по-голяма настройка за максимално време. Имайте предвид обаче, че ако видите това съобщение, трябва да запазите работата, която Excel вече е извършил като част от решаването на проблеми с оптимизационното моделиране.
Запазете работата, която Excel вече е свършил, като щракнете върху бутона Запазване на резултатите от решаването, когато Excel покаже това съобщение. Excel ще бъде по-близо до окончателното решение следващия път, когато започне да търси оптималното решение.
Solver спря по искане на потребителя
Е, очевидно нали? Решава добро куче. Solver спря, защото господарят му каза да спре. Решателят получи лечение.
Избрано спиране, когато е достигнат максималният лимит на повторение
Съобщението ви казва, че Excel е свършил итерациите, преди да намери оптималното решение. Можете да заобиколите този проблем, като зададете по-голяма стойност на итерациите в диалоговия прозорец Опции за решаване.
Цел Стойностите на клетките не се сближават
Съобщението ви казва, че целевата функция няма оптимална стойност. С други думи, целевата функция продължава да се увеличава, въпреки че формулите за ограничения са изпълнени. С други думи, Excel открива, че продължава да получава по-добра стойност на целевата функция с всяка итерация, но не изглежда по-близо до крайната стойност на целевата функция.
Ако срещнете тази грешка, вероятно не сте дефинирали правилно и не сте описали проблема си с оптимизационното моделиране. Вашата целева функция може да няма много смисъл или може да не съответства на вашите формули за ограничения. Или може би една или повече от вашите формули за ограничения - или вероятно няколко от тях - всъщност нямат смисъл.
Solver не можа да намери осъществимо решение
Съобщението ви казва, че вашият проблем с оптимизационното моделиране няма отговор. Като практически въпрос, когато видите това съобщение, това означава, че вашият набор от ограничения изключва всеки възможен отговор.
Например, да предположим, че са необходими 3000 часа, за да се напише книга и че само 2000 часа за работа са налични за една година. Ако кажете, че искате да пишете поне една книга годишно, няма решение на целевата функция.
Една книга изисква до 3000 часа работа, но имате само 2000 часа, за да завършите 3000-часов проект. Това е невъзможно, очевидно. Не съществува оптимална стойност за целевата функция.
Условията за линейност, изисквани от този LP Solver, не са изпълнени
Съобщението показва, че въпреки че сте избрали метода за решаване на Simplex LP, Excel вече е разбрал, че вашият модел всъщност не е линеен. И е дяволски лудо. Така че ви показва това съобщение, за да посочи, че не може да реши проблема, ако трябва да приеме, че вашата целева функция и формулите за ограничения са линейни.
Ако видите това съобщение, продължете и опитайте метода за нелинейно решаване на GRG.
Проблемът е твърде голям, за да може Solver да се справи
Съобщението означава, че имате проблем, твърде голям за решаване, или защото сте се опитали да моделирате с повече от 200 променливи за решение или повече от 100 ограничения. За да заобиколите този проблем, може да сте в състояние да опитате да минимизирате броя на променливите или ограниченията, така че броят им да падне под ограничението „хей, приятелю, това е твърде голямо“.
Решателят срещна стойност за грешка в целева или ограничителна клетка
Съобщението означава, че една от вашите формули води до стойност на грешка или че сте сбъркали при описанието или дефинирането на някакво ограничение. За да заобиколите този проблем, трябва да коригирате фалшивата формула или шантавото ограничение.
Няма достатъчно налична памет за решаване на проблема
Съобщението е самоописателно. Ако видите това съобщение, Solver няма достатъчно памет, за да реши проблема с оптимизационното моделиране, върху който работите. Единственият ви начин е да се опитате да освободите памет, може би чрез затваряне на други отворени програми и всякакви ненужни документи или работни книги.
Ако това не работи, може да искате да добавите повече памет към компютъра си, особено ако често ще правите проблеми с оптимизационното моделиране. Паметта е евтина.
Грешка в модела. Моля, проверете дали всички клетки и ограничения са валидни
Съобщението означава, че имате нещо шантаво - вероятно също нещо поправимо - във вашия проблем с оптимизацията. Проверете вашите формули и въведените стойности. Уверете се, че няма нищо очевидно нередно. О, и още нещо: Уверете се, че не използвате думата „решител“ в нито една от вашите именувани променливи. Това може да обърка Solver.
Пример за оценка на Solver
В следващия пример нивото на реклама през всяко тримесечие влияе върху броя продадени единици, косвено определяйки размера на приходите от продажби, свързаните с тях разходи и печалбата. Решавателят може да променя тримесечните бюджети за реклама (клетки с променлива за решение B5:C5), до общо бюджетно ограничение от $20 000 (клетка F5), докато общата печалба (клетка F7 с цел) достигне максималната възможна сума. Стойностите в променливите клетки се използват за изчисляване на печалбата за всяко тримесечие, така че те са свързани с целта на формулата клетка F7, =SUM (Q1 п��чалба:Q2 печалба).
1. Променливи клетки
2. Ограничена клетка
3. Обективна клетка
След изпълнението на Solver новите стойности са както следва.
Определете и решете проблем
В раздела Данни в групата Анализ , щракнете върху Решател.
Забележка: Ако командата Solver или Analysis групата не е налична, трябва да активирате добавката Solver. Вижте: Как да активирате добавката Solver.
В полето Задаване на цел въведете препратка към клетка или име за целта. Клетката с цел трябва да съдържа формула.
Направете едно от следните неща:
-
Ако искате стойността на клетката за целта да бъде възможно най-голяма, щракнете върху Макс.
-
Ако искате стойността на клетката за целта да бъде възможно най-малка, щракнете върху Min.
-
Ако искате целевата клетка да бъде определена стойност, щракнете върху Стойност на и след това въведете стойността в полето.
-
В полето Чрез промяна на променливи клетки въведете име или референция за всеки диапазон от клетки с променлива за решение. Разделете несъседните препратки със запетаи. Променливите клетки трябва да са свързани пряко или косвено с целевата клетка. Можете да посочите до 200 променливи клетки.
В полето Subject to the Constraints въведете всички ограничения, които искате да приложите, като направите следното:
В диалоговия прозорец Параметри на решаващия инструмент щракнете върху Добавяне .
В полето Препратка към клетка въведете препратката към клетката или името на диапазона от клетки, за който искате да ограничите стойността.
Щракнете върху връзката ( <=, = , >=, int, bin или dif ), които искате между референтната клетка и ограничението. Ако щракнете върху се появява в binary, bin кутия. Ако щракнете върху Ограничението се появява в integer, int . Ако щракнете върху dif, alldifferent се появява в < поле i=29>Ограничение .
Ако изберете <=, = или >= за връзката в полето Ограничение , въведете число, клетка препратка или име, или формула.
Направете едно от следните неща:
-
За да приемете ограничението и да добавите друго, щракнете върху Добавяне.
-
За да приемете ограничението и да се върнете към диалоговия прозорец Solver Parameters, щракнете върху OK отношения само в ограничения върху клетки с променлива за решение. dif и bin , int Можете да приложите
Забележка.
Можете да промените или изтриете съществуващо ограничение, като направите следното:
В диалоговия прозорец Параметри на Solver щракнете върху ограничението, което искате да промените или изтриете.
Щракнете върху Промяна и след това направете промените си или щракнете върху Изтриване.
Щракнете върху Решаване и направете едно от следните:
-
За да запазите стойностите на решението в работния лист, в диалоговия прозорец Резултати от решаването щракнете върху Запазване Решение за решаване.
-
За да възстановите оригиналните стойности, преди да щракнете върху Решаване, щракнете върху Възстановяване на оригиналните стойности .
-
Можете да прекъснете процеса на решаване, като натиснете Esc. Excel преизчислява работния лист с последните стойности, намерени за клетките с променлива за решение.
-
За да създадете отчет, който се основава на вашето решение, след като Solver намери решение, можете да щракнете върху тип отчет в полето Отчети и след това щракнете върху OK. Отчетът се създава на нов работен лист във вашата работна книга. Ако Solver не намери решение, налични са само определени отчети или никакви отчети.
-
За да запазите стойностите на клетката на променливата за решение като сценарий, който можете да покажете по-късно, щракнете върху Запазване на сценария в Диалогов прозорец Резултати от решаващия инструмент и след това въведете име за сценария в полето Име на сценария .< /span>
Преминете през пробните решения на Solver
След като дефинирате проблем, щракнете върху Опции в Параметри на решаващия инструмент диалогов прозорец.
В диалоговия прозорец Опции изберете Показване на резултатите от итерация поставете отметка в квадратчето, за да видите стойностите на всеки пробен разтвор, и след това щракнете върху OK.
В диалоговия прозорец Параметри на Solver щракнете върху Solver .
В диалоговия прозорец Показване на пробно решение направете едно от следните:
-
За да спрете процеса на решаване и да покажете диалоговия прозорец Solver Results , щракнете върху Stop.
-
За да продължите процеса на решаване и да покажете следващото пробно решение, щракнете върху Продължи.
Променете начина, по който Solver намира решения
В диалоговия прозорец Параметри на решаващия инструмент щракнете върху Опции .
Изберете или въведете стойности за която и да е от опциите на Всички методи, GRG Nonlinear раздели в диалоговия прозорец.Evolutionary и
Запазете или заредете проблемен модел
В диалоговия прозорец Параметри на решаващия инструмент щракнете върху Зареждане/Запазване.
Въведете диапазон от клетки за областта на модела и щракнете върху Запазване или Зареждане.
Когато запишете модел, въведете препратката за първата клетка от вертикален диапазон от празни клетки, в които искате да поставите проблемния модел. Когато зареждате модел, въведете препратката за целия диапазон от клетки, който съдържа проблемния модел.
Съвет: Можете да запазите последните селекции в диалоговия прозорец Параметри на решаване с работен лист, като запазване на работната книга. Всеки работен лист в работна книга може да има свои собствени селекции на Solver и всички те се запазват. Можете също да дефинирате повече от един проблем за работен лист, като щракнете върху Зареждане/Запазване , за да запазите проблеми поотделно.
Методи за решаване, използвани от Solver
Можете да изберете някой от следните три алгоритъма или метода за решаване в диалоговия прозорец Параметри на решаващия инструмент :
-
Нелинейно с генерализиран намален градиент (GRG) Използвайте за проблеми, които са плавно нелинейни.
-
LP Simplex Използвайте за проблеми, които са линейни.
-
Еволюционно Използвайте за проблеми, които не са плавни.