"Excel Solver" pamoka su žingsnis po žingsnio pavyzdžiais

  • Pasidalinti
Michael Brown

Vadovėlyje paaiškinta, kaip pridėti ir kur rasti "Solver" įvairiose "Excel" versijose, nuo 2016 m. iki 2003 m. Žingsnis po žingsnio pateikiami pavyzdžiai, kaip naudoti "Excel Solver", kad rastumėte optimalius tiesinio programavimo ir kitų rūšių uždavinių sprendimus.

Visi žino, kad "Microsoft Excel" turi daug naudingų funkcijų ir galingų įrankių, galinčių sutaupyti valandų valandas skaičiavimų. Bet ar žinojote, kad joje taip pat yra įrankis, galintis padėti rasti optimalius sprendimų problemų sprendimus?

Šioje pamokoje aptarsime visus esminius "Excel" priedo "Solver" aspektus ir žingsnis po žingsnio aprašysime, kaip efektyviausiai jį naudoti.

    Kas yra "Excel Solver"?

    "Excel" sprendiklis priklauso specialiam komandų rinkiniui, dažnai vadinamam "kas būtų, jeigu būtų" analizės įrankiais. Jis visų pirma skirtas įvairių verslo ir inžinerinių modelių modeliavimui ir optimizavimui.

    "Excel Solver" priedas ypač naudingas sprendžiant tiesinio programavimo uždavinius, dar vadinamus tiesinio optimizavimo uždaviniais, todėl kartais vadinamas tiesinio programavimo sprendiklis . Be to, jis gali spręsti sklandžius netiesinius ir nelygiagrečius uždavinius. Išsamesnės informacijos rasite "Excel Solver" algoritmuose.

    Nors "Solver" negali išspręsti visų įmanomų problemų, ji tikrai naudinga sprendžiant įvairias optimizavimo problemas, kai reikia priimti geriausią sprendimą. Pavyzdžiui, ji gali padėti padidinti investicijų grąžą, pasirinkti optimalų reklamos kampanijos biudžetą, sudaryti geriausią darbuotojų darbo grafiką, sumažinti pristatymo išlaidas ir pan.

    Kaip pridėti "Solver" prie "Excel

    "Solver" priedas yra įtrauktas į visas "Microsoft Excel" versijas, pradedant 2003 m., tačiau pagal numatytuosius nustatymus jis nėra įjungtas.

    Norėdami pridėti "Solver" prie "Excel", atlikite šiuos veiksmus:

    1. Programoje "Excel 2010" - "Excel 365" spustelėkite Failas > Parinktys .

      Programoje "Excel 2007" spustelėkite "Microsoft Office mygtuką, tada spustelėkite "Excel" parinktys .

    2. Į "Excel" parinktys dialogo langą, spustelėkite Papildomi priedai kairėje šoninėje juostoje įsitikinkite, kad "Excel" papildiniai pasirinktas Tvarkykite langelį lango apačioje ir spustelėkite Eikite į .
    3. Į Papildomi priedai dialogo lange pažymėkite Sprendiklio papildinys ir spustelėkite GERAI :

    Kaip įjungti "Solver "Excel 2003 , eikite į Įrankiai meniu ir spustelėkite Papildomi priedai ... Papildomi priedai galima rasti sąrašą, patikrinkite Sprendiklio papildinys langelį ir spustelėkite GERAI .

    Pastaba. Jei "Excel" rodo pranešimą, kad "Solver Add-in" šiuo metu nėra įdiegtas jūsų kompiuteryje, spustelėkite Taip jį įdiegti.

    Kur "Excel" programoje yra "Solver"?

    Šiuolaikinėse "Excel" versijose Sprendiklis atsiranda mygtukas Duomenys skirtuke Analizė grupė:

    Kur yra "Excel 2003" programa "Solver"?

    Įkėlus "Solver Add-in" į "Excel 2003", jo komanda pridedama prie Įrankiai meniu:

    Dabar, kai žinote, kur "Excel" programoje rasti "Solver", atidarykite naują darbalapį ir pradėkime!

    Pastaba. Šiame vadovėlyje aptartuose pavyzdžiuose naudojama "Solver" programa "Excel 2013". Jei naudojate kitą "Excel" versiją, ekrano nuotraukos gali tiksliai neatitikti jūsų versijos, nors "Solver" funkcijos iš esmės yra tokios pačios.

    Kaip naudoti "Solver" programoje "Excel

    Prieš paleisdami "Excel Solver" papildinį, suformuluokite modelį, kurį norite išspręsti darbalapyje. Šiame pavyzdyje rasime toliau pateikto paprasto optimizavimo uždavinio sprendimą.

    Problema Tarkime, esate grožio salono savininkas ir planuojate teikti klientams naują paslaugą. Tam reikia įsigyti naują įrangą, kuri kainuoja 40 000 JAV dolerių ir kurią reikėtų sumokėti dalimis per 12 mėnesių.

    Tikslas : Apskaičiuokite mažiausią paslaugos kainą, kuri leistų sumokėti už naują įrangą per nurodytą laikotarpį.

    Šiai užduočiai atlikti sukūriau tokį modelį:

    O dabar pažiūrėkime, kaip "Excel Solver" gali rasti šios problemos sprendimą.

    1. Paleiskite "Excel Solver

    Dėl Duomenys skirtuke Analizė grupę, spustelėkite Sprendiklis mygtuką.

    2. Apibrėžkite problemą

    Svetainė Sprendiklio parametrai Atsidarys langas, kuriame turėsite nustatyti 3 pagrindinius komponentus:

    • Tikslo ląstelė
    • Kintamos ląstelės
    • Apribojimai

    Ką tiksliai "Excel Solver" daro su pirmiau nurodytais parametrais? Jis randa optimalią (didžiausią, mažiausią arba nurodytą) formulės reikšmę, esančią Tikslas ląstelę keičiant reikšmes, esančias Kintamas ląstelės ir atsižvelgiant į apribojimus, nustatytus Apribojimai ląstelės.

    Tikslas

    Svetainė Tikslas ląstelė ( Tikslinė ląstelė ankstesnėse "Excel" versijose) yra ląstelė kuriame yra formulė Tikslas gali būti maksimizavimas, minimizavimas arba tam tikros tikslinės vertės pasiekimas.

    Šiame pavyzdyje tikslo ląstelė yra B7, kurioje apskaičiuojamas mokėjimo terminas pagal formulę =B3/(B4*B5) ir formulės rezultatas turėtų būti lygus 12:

    Kintamos ląstelės

    Kintamas ląstelės ( Keisti ląstelės arba Reguliuojamas ankstesnėse versijose) - tai ląstelės, kuriose yra kintamųjų duomenų, kuriuos galima keisti siekiant tikslo. Excel Solver leidžia nurodyti iki 200 kintamųjų ląstelių.

    Šiame pavyzdyje turime keletą langelių, kurių reikšmes galima keisti:

    • Planuojamas klientų skaičius per mėnesį (B4), kuris turėtų būti mažesnis arba lygus 50; ir
    • Išlaidos už paslaugą (B5), kurias norime, kad apskaičiuotų Excel Solver.

    Patarimas. Jei jūsų modelio kintamieji langeliai ar intervalai yra ne greta esantis , pažymėkite pirmąją ląstelę arba intervalą, tada paspauskite ir laikykite nuspaudę klavišą Ctrl ir pasirinkite kitas ląsteles ir (arba) intervalus. Arba rankiniu būdu įveskite intervalus, atskiriamus kableliais.

    Apribojimai

    "Excel" sprendiklis Apribojimai tai galimų problemos sprendimų apribojimai arba ribos. Kitaip tariant, apribojimai yra sąlygos, kurių turi būti laikomasi.

    Norėdami pridėti apribojimą (-us), atlikite šiuos veiksmus:

    • Spustelėkite Pridėti mygtuką į dešinę prie " Atsižvelgiant į apribojimus " langelis.

    • Į Apribojimas įveskite apribojimą.
    • Spustelėkite Pridėti mygtuką, kad apribojimas būtų įtrauktas į sąrašą.

    • Tęskite kitų apribojimų įvedimą.
    • Įvedę galutinį apribojimą, spustelėkite GERAI grįžti į pagrindinį Sprendiklis Parametrai langas.

    "Excel Solver" leidžia nurodyti šiuos ryšius tarp referuojamo langelio ir apribojimo.

    • Mažesnė arba lygi , lygus , ir didesnis arba lygus . Šiuos ryšius nustatote pasirinkdami ląstelę Nuoroda į ląstelę langelį, pasirinkdami vieną iš šių ženklų: <= , =, arba >= , tada įveskite skaičių, ląstelės nuorodą / ląstelės pavadinimą arba formulę į Apribojimas langelį (žr. pirmiau pateiktą ekrano nuotrauką).
    • Sveikasis skaičius . Jei ląstelė, į kurią pateikiama nuoroda, turi būti sveikasis skaičius, pasirinkite int , o žodis sveikasis skaičius bus rodomas Apribojimas dėžutė.
    • Skirtingos vertės . Jei kiekvienoje ląstelėje turi būti skirtinga reikšmė, pasirinkite dif , o žodis Visi skirtingi bus rodomas Apribojimas dėžutė.
    • Dvejetainis Jei norite apriboti ląstelę, į kurią pateikiama nuoroda, iki 0 arba 1, pasirinkite šiukšliadėžė , o žodis dvejetainis bus rodomas Apribojimas dėžutė.

    Pastaba. int , šiukšliadėžė , ir dif ryšiai gali būti naudojami tik kintamųjų langelių apribojimams.

    Į redaguoti arba ištrinti esamą apribojimą, atlikite šiuos veiksmus:

    • Į Sprendiklio parametrai dialogo lange spustelėkite apribojimą.
    • Jei norite pakeisti pasirinktą apribojimą, spustelėkite Keisti ir atlikite norimus pakeitimus.
    • Norėdami ištrinti apribojimą, spustelėkite Ištrinti mygtuką.

    Šiame pavyzdyje apribojimai yra tokie:

    • B3=40000 - naujos įrangos kaina yra 40 000 USD.
    • B4<=50 - prognozuojamų pacientų skaičius per mėnesį iki 50.

    3. Išspręskite problemą

    Sukonfigūravę visus parametrus, spustelėkite Išspręskite mygtukas, esantis apačioje Sprendiklio parametrai langą (žr. pirmiau pateiktą ekrano nuotrauką) ir leiskite "Excel Solver" priedui rasti optimalų problemos sprendimą.

    Priklausomai nuo modelio sudėtingumo, kompiuterio atminties ir procesoriaus spartos, tai gali užtrukti kelias sekundes, kelias minutes ar net kelias valandas.

    Kai "Solver" baigs apdorojimą, bus rodomas Sprendiklio rezultatai dialogo langą, kuriame pasirenkate Išlaikyti "Solver" sprendimą ir spustelėkite GERAI :

    Svetainė Sprendiklio rezultatas langas užsidarys, o sprendimas iš karto pasirodys darbalapyje.

    Šiame pavyzdyje B5 langelyje įrašyta 66,67 JAV dolerio, t. y. mažiausia kaina už paslaugą, kuri leis sumokėti už naują įrangą per 12 mėnesių, jei per mėnesį apsilanko bent 50 klientų:

    Patarimai:

    • Jei "Excel Solver" per ilgai nagrinėjo tam tikrą problemą, galite nutraukti procesą paspausdami klavišą Esc. "Excel" perskaičiuos darbalapį su paskutinėmis rastomis reikšmėmis. Kintamas ląstelės.
    • Norėdami gauti daugiau informacijos apie išspręstą problemą, spustelėkite ataskaitos tipą Ataskaitos langelį, tada spustelėkite GERAI . Ataskaita bus sukurta naujame darbalapyje:

    Dabar, kai jau turite pagrindinę idėją, kaip naudoti "Solver" programoje "Excel", apžvelkime dar kelis pavyzdžius, kurie gali padėti geriau suprasti.

    "Excel Solver" pavyzdžiai

    Toliau rasite dar du "Excel Solver" priedo naudojimo pavyzdžius. Pirmiausia rasime gerai žinomo galvosūkio sprendimą, o paskui išspręsime realų tiesinio programavimo uždavinį.

    "Excel Solver" 1 pavyzdys (magiškasis kvadratas)

    Manau, visi žino "magiškojo kvadrato" galvosūkius, kai į kvadratą reikia sudėti skaičių rinkinį taip, kad visos eilutės, stulpeliai ir įstrižainės sudarytų tam tikrą skaičių.

    Pavyzdžiui, ar žinote 3x3 kvadrato, kuriame yra skaičiai nuo 1 iki 9 ir kuriame kiekviena eilutė, stulpelis ir įstrižainė sudaro 15, sprendinį?

    Tikriausiai nėra didelė problema išspręsti šį galvosūkį bandymų ir klaidų metodu, tačiau lažinuosi, kad "Solver" ras sprendimą greičiau. Mūsų darbo dalis - tinkamai apibrėžti problemą.

    Pirmiausia į lentelę, sudarytą iš 3 eilučių ir 3 stulpelių, įveskite skaičius nuo 1 iki 9. Iš tikrųjų "Excel Solver" priedėliui šių skaičių nereikia, tačiau jie padės mums įsivaizduoti problemą. Iš tikrųjų "Excel Solver" priedėliui reikia SUM formulių, kurios sumuoja kiekvieną eilutę, stulpelį ir 2 įstrižaines:

    Sukūrę visas formules, paleiskite "Solver" ir nustatykite šiuos parametrus:

    • Nustatyti Tikslas . Šiame pavyzdyje mums nereikia nustatyti jokio tikslo, todėl palikite šį langelį tuščią.
    • Kintamos ląstelės . Norime užpildyti B2-D4 langelių skaičius, todėl pasirinkite intervalą B2:D4.
    • Apribojimai Turėtų būti įvykdytos šios sąlygos:
      • $B$2:$D$4 = AllDifferent - visuose kintamųjų langeliuose turėtų būti skirtingos vertės.
      • $B$2:$D$4 = sveikasis skaičius - visi kintamųjų langeliai turėtų būti sveikieji skaičiai.
      • $B$5:$D$5 = 15 - kiekvieno stulpelio reikšmių suma turėtų būti lygi 15.
      • $E$2:$E$4 = 15 - kiekvienos eilutės verčių suma turėtų būti lygi 15.
      • $B$7:$B$8 = 15 - abiejų įstrižainių suma turėtų būti lygi 15.

    Galiausiai spustelėkite Išspręskite mygtuką, ir sprendimas yra čia!

    "Excel Solver" 2 pavyzdys (tiesinio programavimo uždavinys)

    Tai paprastos transporto optimizavimo problemos su tiesiniu tikslu pavyzdys. Sudėtingesnius tokio pobūdžio optimizavimo modelius naudoja daugelis įmonių, siekdamos kasmet sutaupyti tūkstančius dolerių.

    Problema : Norite sumažinti prekių gabenimo iš 2 skirtingų sandėlių 4 skirtingiems klientams išlaidas. Kiekviename sandėlyje yra ribota pasiūla, o kiekvienas klientas turi tam tikrą paklausą.

    Tikslas : Sumažinti bendras siuntimo išlaidas, neviršijant kiekviename sandėlyje turimo kiekio ir patenkinant kiekvieno kliento poreikius.

    Šaltinio duomenys

    Štai kaip atrodo mūsų transporto optimizavimo problema:

    Modelio formulavimas

    Norėdami apibrėžti savo tiesinio programavimo uždavinį "Excel Solver", atsakykime į 3 pagrindinius klausimus:

    1. Kokius sprendimus reikia priimti? Norime apskaičiuoti optimalų prekių kiekį, kurį reikia pristatyti kiekvienam klientui iš kiekvieno sandėlio. Kintamas ląstelių (B7:E8).
    2. Kokie yra apribojimai? Kiekviename sandėlyje (I7:I8) turimų atsargų kiekis negali būti viršytas, o kiekvieno kliento užsakytas kiekis (B10:E10) turi būti pristatytas. Apribotas ląstelės.
    3. Koks yra tikslas? Minimalios bendros siuntimo išlaidos. Ir tai yra mūsų Tikslas ląstelė (C12).

    Kitas dalykas, kurį turite padaryti, tai apskaičiuoti bendrą iš kiekvieno sandėlio išsiųstų prekių kiekį (G7:G8) ir bendrą kiekvieno kliento gautų prekių kiekį (B9:E9). Tai galite padaryti naudodami paprastas sumų formules, parodytas toliau pateiktoje ekrano kopijoje. Taip pat į C12 įterpkite formulę SUMPRODUCT, kad apskaičiuotumėte bendrą siuntimo kainą:

    Kad mūsų transporto optimizavimo modelį būtų lengviau suprasti, sukurkite šiuos pavadinimus:

    Kategorijos pavadinimas Ląstelės Sprendiklio parametras
    Produktai_išsiunčiami B7:E8 Kintamos ląstelės
    Galima rasti I7:I8 Apribojimas
    Iš viso_išsiųsta G7:G8 Apribojimas
    Užsakyta B10:E10 Apribojimas
    Iš viso_gauta B9:E9 Apribojimas
    Shipping_cost C12 Tikslas

    Paskutinis dalykas, kurį reikia atlikti, yra sukonfigūruoti "Excel Solver" parametrus:

    • Tikslas: Shipping_cost nustatyta į Min
    • Kintamosios ląstelės: Products_shipped
    • Apribojimai: Iš viso_gauta = Užsakyta ir Iš viso_išsiųsta <= Turima

    Atkreipkite dėmesį, kad pasirinkome "Simplex LP sprendimo metodą šiame pavyzdyje, nes mes sprendžiame tiesinio programavimo problemą. Jei nesate tikri, kokia yra jūsų problema, galite palikti numatytąjį GRG netiesinė sprendimo metodą. Daugiau informacijos rasite skyriuje "Excel Solver" algoritmai.

    Sprendimas

    Spustelėkite Išspręskite mygtukas, esantis apačioje Sprendiklio parametrai langą, ir gausite atsakymą. Šiame pavyzdyje "Excel Solver" papildinys apskaičiavo optimalų prekių kiekį, kurį reikia pristatyti kiekvienam klientui iš kiekvieno sandėlio, esant mažiausioms bendroms pristatymo išlaidoms:

    Kaip išsaugoti ir įkelti "Excel Solver" scenarijus

    Spręsdami tam tikrą modelį galite norėti išsaugoti savo Kintamas langelių reikšmes kaip scenarijų, kurį vėliau galėsite peržiūrėti arba vėl naudoti.

    Pavyzdžiui, apskaičiuodami minimalias paslaugų sąnaudas pačiame pirmajame šiame vadovėlyje aptartame pavyzdyje, galite norėti išbandyti skirtingą prognozuojamų klientų skaičių per mėnesį ir pažiūrėti, kaip tai paveiks paslaugų sąnaudas. Tuo metu galite išsaugoti jau apskaičiuotą labiausiai tikėtiną scenarijų ir bet kuriuo metu jį atkurti.

    Taupymas "Excel Solver" scenarijaus esmė - pasirinkti ląstelių intervalą, į kurį bus įrašyti duomenys. Pakrovimas Solver modelį, tereikia pateikti "Excel" langelių diapazoną, kuriame išsaugotas jūsų modelis. Toliau pateikiami išsamūs veiksmai.

    Modelio išsaugojimas

    Norėdami išsaugoti "Excel Solver" scenarijų, atlikite šiuos veiksmus:

    1. Atidarykite darbalapį su apskaičiuotu modeliu ir paleiskite "Excel Solver".
    2. Į Sprendiklio parametrai langą, spustelėkite Įkelti / išsaugoti mygtuką.

  • "Excel Solver" nurodys, kiek langelių reikia, kad išsaugotumėte savo scenarijų. Pasirinkite tiek tuščių langelių ir spustelėkite Išsaugoti :
  • "Excel" išsaugos dabartinį modelį, kuris gali atrodyti panašiai kaip šis:
  • Tuo pačiu metu Sprendiklio parametrai Atsivers langas, kuriame galėsite keisti apribojimus ir išbandyti įvairias "kas, jei" parinktis.

    Išsaugoto modelio įkėlimas

    Nusprendę atkurti išsaugotą scenarijų, atlikite šiuos veiksmus:

    1. Į Sprendiklio parametrai langą, spustelėkite Įkelti / išsaugoti mygtuką.
    2. Darbalapyje pasirinkite ląstelių, kuriose yra išsaugotas modelis, intervalą ir spustelėkite Krovinys :

  • Į Įkrovos modelis dialogo langą, spustelėkite Pakeisti mygtuką:
  • Taip atsidarys pagrindinis "Excel Solver" langas su anksčiau išsaugoto modelio parametrais. Viskas, ką jums reikia padaryti, tai spustelėti Išspręskite mygtuką, kad jį iš naujo apskaičiuotumėte.
  • "Excel Solver" algoritmai

    Apibrėždami problemą "Excel" sprendikliui, galite pasirinkti vieną iš šių metodų Pasirinkite sprendimo metodą išskleidžiamąjį langelį:

    • GRG nelinijinis. Apibendrintas sumažintas gradientinis netiesinis Algoritmas naudojamas uždaviniams, kurie yra sklandžiai netiesiniai, t. y. kai bent vienas iš apribojimų yra sklandi netiesinė sprendimo kintamųjų funkcija. Daugiau informacijos galima rasti čia.
    • LP Simplex . Simplex LP sprendimo metodas pagrįstas amerikiečių matematiko Džordžo Dantzigo sukurtu Simplex algoritmu. Jis naudojamas sprendžiant vadinamuosius Tiesinis programavimas uždaviniai - matematiniai modeliai, kurių reikalavimai apibūdinami tiesiniais ryšiais, t. y. juos sudaro vienas tikslas, išreikštas tiesine lygtimi, kurį reikia maksimizuoti arba minimizuoti. Daugiau informacijos rasite šiame puslapyje.
    • Evoliucinis . Jis naudojamas sprendžiant netolygiuosius uždavinius, kurie yra sunkiausiai sprendžiami optimizavimo uždavinių tipai, nes kai kurios funkcijos yra netolygios arba net nutrūkstamos, todėl sunku nustatyti funkcijos didėjimo ar mažėjimo kryptį. Daugiau informacijos rasite šiame puslapyje.

    Jei norite pakeisti, kaip "Solver" randa sprendinį, spustelėkite Parinktys mygtukas Sprendiklio parametrai dialogo langą ir sukonfigūruokite bet kurią arba visas parinktis GRG netiesinė , Visi metodai , ir Evoliucinis skirtukai.

    Štai kaip galite naudoti "Excel" programą "Solver", kad rastumėte geriausius sprendimų problemų sprendimus. O dabar galite atsisiųsti šioje pamokoje aptartus "Excel" programos "Solver" pavyzdžius ir iš naujo juos išnagrinėti, kad geriau suprastumėte. Dėkoju, kad perskaitėte, ir tikiuosi, kad kitą savaitę susitiksime mūsų tinklaraštyje.

    Michaelas Brownas yra atsidavęs technologijų entuziastas, mėgstantis supaprastinti sudėtingus procesus naudojant programinės įrangos įrankius. Turėdamas daugiau nei dešimtmetį patirtį technologijų pramonėje, jis patobulino savo įgūdžius „Microsoft Excel“ ir „Outlook“, taip pat „Google“ skaičiuoklėse ir dokumentuose. Michaelio tinklaraštis skirtas dalytis savo žiniomis ir patirtimi su kitais, jame pateikiami lengvai įgyvendinami patarimai ir vadovėliai, kaip pagerinti produktyvumą ir efektyvumą. Nesvarbu, ar esate patyręs profesionalas, ar pradedantysis, Michaelo tinklaraštyje rasite vertingų įžvalgų ir praktinių patarimų, kaip išnaudoti visas šių pagrindinių programinės įrangos įrankių galimybes.