Paprastoms problemoms spręsti „Excel“ sprendėjas paprastai greitai suranda optimalias tikslinės funkcijos „Solver“ kintamųjų reikšmes. Tačiau kai kuriais atvejais „Solver“ turi problemų ieškant „Solver“ kintamųjų reikšmių, optimizuojančių tikslo funkciją. Tokiais atvejais Solver paprastai rodo pranešimą arba klaidos pranešimą, kuriame aprašoma arba aptariama su jūsų problema susijusi problema.
Solver rado sprendimą
Pranešime nurodoma, kad Solver atliko darbą ir rado kintamųjų reikšmių rinkinį, atitinkantį jūsų apribojimus.
Solver priartėjo prie dabartinio sprendimo
Pranešime nurodoma, kad „Excel“ rado sprendimą, bet nelabai pasitiki šiuo sprendimu. Iš esmės šis pranešimas įspėja apie galimybę, kad gali būti geresnis optimizavimo modeliavimo problemos sprendimas. Norėdami ieškoti geresnio sprendimo, dialogo lange Sprendimo parinktys pakoreguokite nustatymą Konvergencija, kad „Excel“ veiktų didesniu tikslumu.
Solver negali pagerinti dabartinio sprendimo
Pranešime nurodoma, kad „Excel“ apskaičiavo grubų, gana tikslų sprendimą, bet vėlgi, galbūt galėsite rasti geresnį sprendimą. Norėdami pasakyti Excel, kad ji turėtų ieškoti geresnio sprendimo, turite padidinti Solver naudojamą tikslumo nustatymą.
Tai, žinoma, reiškia, kad „Excel“ užtruks daugiau laiko. Tačiau šis papildomas laikas gali padėti rasti geresnį sprendimą. Norėdami pakoreguoti tikslumą, vėl naudokite dialogo langą Sprendimo parinktys.
Sustabdymas pasirinktas pasiekus maksimalų laiko limitą
Pranešime nurodoma, kad „Excel“ baigėsi laikas. Galite dar kartą bandyti išspręsti optimizavimo modeliavimo problemą naudodami didesnį maksimalaus laiko nustatymą. Tačiau atminkite, kad jei matote šį pranešimą, turėtumėte išsaugoti darbą, kurį „Excel“ jau atliko kaip optimizavimo modeliavimo problemų sprendimo dalį.
Išsaugokite „Excel“ jau atliktą darbą spustelėdami mygtuką Išsaugoti sprendimo rezultatus, kai „Excel“ rodo šį pranešimą. Kitą kartą, kai pradės ieškoti optimalaus sprendimo, „Excel“ bus arčiau galutinio sprendimo.
Sprendimas sustabdytas vartotojo prašymu
Ai, aišku, tiesa? Išsprendė geras šuo. Sprendimas sustojo, nes meistras liepė sustoti. Spręstojas gauk gydymą.
Sustabdymas pasirinktas, kai buvo pasiektas didžiausias iteracijų limitas
Pranešime nurodoma, kad „Excel“ baigėsi iteracijos, kol rado optimalų sprendimą. Šią problemą galite išspręsti nustatę didesnę iteracijų reikšmę dialogo lange Sprendimo parinktys.
Tikslas Ląstelių reikšmės nesutampa
Pranešime nurodoma, kad tikslo funkcija neturi optimalios vertės. Kitaip tariant, tikslo funkcija nuolat didėja, nors apribojimų formulės yra patenkintos. Kitaip tariant, „Excel“ nustato, kad kiekviena iteracija gauna geresnę tikslo funkcijos reikšmę, bet neatrodo arčiau galutinės tikslo funkcijos reikšmės.
Jei susiduriate su šia klaida, tikriausiai netinkamai apibrėžėte ir apibūdinote optimizavimo modeliavimo problemą. Jūsų tikslo funkcija gali būti nereikšminga arba gali nesutapti su apribojimų formulėmis. O gal viena ar kelios jūsų apribojimų formulės – arba tikriausiai kelios iš jų – iš tikrųjų neturi prasmės.
Solver negalėjo rasti tinkamo sprendimo
Pranešime nurodoma, kad į jūsų optimizavimo modeliavimo problemą nėra atsakymo. Praktiškai, kai matote šį pranešimą, tai reiškia, kad jūsų apribojimų rinkinys pašalina bet kokį galimą atsakymą.
Pavyzdžiui, tarkime, kad knygai parašyti reikia 3000 valandų, o darbui per metus lieka tik 2000 valandų. Jei pasakėte, kad norite parašyti bent vieną knygą per metus, nėra tikslo funkcijos sprendimo.
Knyga reikalauja iki 3 000 darbo valandų, bet jūs turite tik 2 000 valandų, kad užbaigtumėte 3 000 valandų projektą. Tai neįmanoma, aišku. Optimalios tikslo funkcijos vertės nėra.
Šio LP Solver reikalaujamos tiesiškumo sąlygos netenkinamos
Pranešime nurodoma, kad nors pasirinkote Simplex LP sprendimo metodą, „Excel“ dabar išsiaiškino, kad jūsų modelis iš tikrųjų nėra tiesinis. Ir tai velniškai pikta. Taigi jis rodo jums šį pranešimą, nurodydamas, kad jis negali išspręsti problemos, jei turi daryti prielaidą, kad jūsų tikslo funkcija ir apribojimo formulės yra tiesinės.
Jei matote šį pranešimą, išbandykite GRG netiesinio sprendimo metodą.
Problema per didelė, kad „Solver“ galėtų ją išspręsti
Pranešimas reiškia, kad problema yra per didelė sprendėjui, nes bandėte modeliuoti su daugiau nei 200 sprendimo kintamųjų arba daugiau nei 100 apribojimų. Norėdami išspręsti šią problemą, galite pabandyti sumažinti kintamųjų ar apribojimų skaičių, kad jų skaičius būtų mažesnis už apribojimą „Ei, bičiuli, kuris tiesiog per didelis“.
Solver aptiko klaidos reikšmę tikslinėje arba apribojimo langelyje
Pranešimas reiškia, kad viena iš jūsų formulių sukelia klaidos reikšmę arba kad suklydote aprašydami ar apibrėždami tam tikrą apribojimą. Norėdami išspręsti šią problemą, turite pataisyti netikrą formulę arba kvailą apribojimą.
Nepakanka atminties problemai išspręsti
Pranešimas yra pats save apibūdinantis. Jei matote šį pranešimą, Solver neturi pakankamai atminties, kad išspręstų optimizavimo modeliavimo problemą, su kuria dirbate. Vienintelė išeitis yra pabandyti atlaisvinti atminties, galbūt uždarant visas kitas atidarytas programas ir visus nereikalingus dokumentus ar darbaknyges.
Jei tai nepadeda, galbūt norėsite pridėti daugiau atminties prie kompiuterio, ypač jei dažniausiai kyla optimizavimo modeliavimo problemų. Atmintis pigi.
Klaida modelyje. Patikrinkite, ar visi langeliai ir apribojimai galioja
Pranešimas reiškia, kad optimizavimo problemoje yra kažkas kvailo – tikriausiai ir ką nors galima išspręsti. Patikrinkite savo formules ir įvesties reikšmes. Įsitikinkite, kad nėra nieko akivaizdžiai blogo. O ir dar vienas dalykas: įsitikinkite, kad jokiame pavadintame kintamajame nenaudojate žodžio „sprendėjas“. Tai gali suklaidinti Solverį.
Solver įvertinimo pavyzdys
Toliau pateiktame pavyzdyje kiekvieno ketvirčio reklamos lygis turi įtakos parduotų vienetų skaičiui, netiesiogiai nulemdamas pardavimo pajamų dydį, susijusias išlaidas ir pelną. Solver gali keisti ketvirčio biudžetus reklamai (sprendimo kintamojo langeliai B5:C5), iki bendro biudžeto apribojimo 20 000 USD (F5 langelis), kol bendras pelnas (tikslas F7 langelis) pasieks maksimalią įmanomą sumą. Kintamųjų langeliuose esančios reikšmės naudojamos kiekvieno ketvirčio pelnui apskaičiuoti, todėl jos yra susietos su formulės tikslo langeliu F7, =SUM (Q1 Profit:Q2 Profit).
1. Kintamos ląstelės
2. Suvaržyta ląstelė
3. Objektyvi ląstelė
Paleidus Solver, naujos reikšmės yra tokios.
Apibrėžkite ir išspręskite problemą
Skirtuko Duomenys grupėje Analizė , spustelėkite Spręstuvas.
Pastaba: jei Solver komanda arba analizė grupė nepasiekiama, turite suaktyvinti Solver priedą. Žr.: Kaip suaktyvinti Solver priedą.
Lauke Nustatyti tikslą įveskite tikslo langelio nuorodą arba pavadinimą. Tiksliniame langelyje turi būti formulė.
Atlikite vieną iš šių veiksmų:
-
Jei norite, kad tikslinio langelio vertė būtų kuo didesnė, spustelėkite Maksimalus.
-
Jei norite, kad tikslinio langelio reikšmė būtų kuo mažesnė, spustelėkite Min.
-
Jei norite, kad tikslinis langelis būtų tam tikra reikšmė, spustelėkite Vertė, tada įveskite reikšmę laukelyje.
-
Lauke Keičiant kintamųjų langelius įveskite kiekvieno sprendimo kintamojo langelių diapazono pavadinimą arba nuorodą. Negreta esančias nuorodas atskirkite kableliais. Kintamieji langeliai turi būti tiesiogiai arba netiesiogiai susieti su tiksline ląstele. Galite nurodyti iki 200 kintamųjų langelių.
Laukle Atsižvelgiant į apribojimus įveskite visus apribojimus, kuriuos norite taikyti, atlikdami šiuos veiksmus:
Dialogo lange Solver Parameters spustelėkite Pridėti .
Lauke Ląstelės nuoroda įveskite langelio nuorodą arba langelių diapazono, kurio reikšmę norite apriboti, pavadinimą. a>
Spustelėkite ryšį ( <=, = , >=, int, bin arba dif ), kurį norite tarp nurodyto langelio ir apribojimo. Jei spustelėsite pasirodys dvejetainis, bin langelį. Jei spustelėsite apribojime rodomas sveikasis skaičius, int laukelis. Jei spustelėsite skirtis, visi skirtingi parodys < a i=29>Apribojimų laukelis.
Jei pasirinkote <=, = arba >= ryšiui laukelyje Apribojimas , įveskite skaičių, langelį nuoroda arba pavadinimas, arba formulė.
Atlikite vieną iš šių veiksmų:
-
Jei norite priimti apribojimą ir pridėti kitą, spustelėkite Pridėti.
-
Jei norite priimti apribojimą ir grįžti į Solver Parameterdialogo langą, spustelėkite Gerai a> ryšiai tik pagal sprendimo kintamųjų langelių apribojimus. dif ir bin , int Galite taikyti
Pastaba.
Galite pakeisti arba ištrinti esamą apribojimą atlikdami šiuos veiksmus:
Dialogo lange Solver Parameters spustelėkite apribojimą, kurį norite pakeisti arba ištrinti.
Spustelėkite Keisti ir tada atlikite pakeitimus arba spustelėkite Ištrinti.
Spustelėkite Spręsti ir atlikite vieną iš šių veiksmų:
-
Jei norite palikti sprendimo reikšmes darbalapyje, Sprendimo rezultatai dialogo lange spustelėkite Palikti Sprendimo sprendimas.
-
Jei norite atkurti pradines reikšmes prieš spustelėdami Spręsti, spustelėkite Atkurti pradines vertes .
-
Sprendimo procesą galite nutraukti paspausdami Esc. „Excel“ perskaičiuoja darbalapį su paskutinėmis sprendimo kintamųjų langelių reikšmėmis.
-
Norėdami sukurti ataskaitą, pagrįstą jūsų sprendimu, kai Solver suranda sprendimą, galite spustelėti ataskaitos tipą laukelyje Ataskaitos ir tada spustelėkite Gerai. Ataskaita sukuriama naujame darbaknygės darbalapyje. Jei Solver neranda sprendimo, galimos tik tam tikros ataskaitos arba jų nėra.
-
Jei norite išsaugoti sprendimo kintamųjų langelių reikšmes kaip scenarijų, kurį galėsite parodyti vėliau, spustelėkite Išsaugoti scenarijų skiltyje Sprendimo rezultatai dialogo langas, tada įveskite scenarijaus pavadinimą Scenarijaus pavadinimas laukelyje.< /span>
Išbandykite Solver bandomuosius sprendimus
Apibrėžę problemą, spustelėkite Parinktys skiltyje Sprendimo parametrai dialogo langas.
Dialogo lange Parinktys pasirinkite Rodyti iteracijos rezultatus pažymėkite langelį, kad pamatytumėte kiekvieno bandomojo sprendimo reikšmes, tada spustelėkite Gerai.
Dialogo lange Sprendimo parametrai spustelėkite Spręsti .
Dialogo lange Rodyti bandomąjį sprendimą atlikite vieną iš šių veiksmų:
-
Jei norite sustabdyti sprendimo procesą ir parodyti dialogo langą Solver Results , spustelėkite Stabdyti.
-
Jei norite tęsti sprendimo procesą ir rodyti kitą bandomąjį sprendimą, spustelėkite Tęsti.
Pakeiskite, kaip Solver randa sprendimus
Dialogo lange Solver Parameters spustelėkite Parinktys .
Pasirinkite arba įveskite bet kurios parinkčių reikšmes Visi metodai, GRG Netiesinis a> ir Evoliuciniai skirtukai dialogo lange.
Išsaugokite arba įkelkite probleminį modelį
Dialogo lange Solver Parameters spustelėkite Įkelti / išsaugoti.
Įveskite modelio srities langelių diapazoną ir spustelėkite Išsaugoti arba Įkelti.
Išsaugodami modelį įveskite pirmojo vertikalaus tuščių langelių diapazono langelio, į kurį norite įdėti probleminį modelį, nuorodą. Kai įkeliate modelį, įveskite viso langelių diapazono, kuriame yra problemos modelis, nuorodą.
Patarimas: Galite išsaugoti paskutinius pasirinkimus Solver Parameters dialogo lange su darbalapiu darbo knygos išsaugojimas. Kiekvienas darbaknygės darbalapis gali turėti savo Solver pasirinkimus ir visi jie išsaugomi. Taip pat galite apibrėžti daugiau nei vieną darbalapio problemą, spustelėdami Įkelti/išsaugoti , kad problemas išsaugotumėte atskirai.
Solver naudojami sprendimo metodai
Dialogo lange Solver Parameters galite pasirinkti bet kurį iš šių trijų algoritmų arba sprendimo būdų:
-
Generalizuotas sumažintas gradientas (GRG) Netiesinis Naudokite sklandžioms netiesinėms problemoms spręsti.
-
LP Simplex Naudokite linijinėms problemoms spręsti.
-
Evoliucinis Naudokite sprendžiant problemas, kurios nėra sklandžios.