You are on page 1of 15

An Introduct|on to Spreadsheet

Cpt|m|zat|on Us|ng Lxce| So|ver
1. lnLroducLlon ........................................................................................... 2
2. CreaLlng a spreadsheeL model ............................................................... 3
3. Speclfylng Lhe ob[ecLlve funcLlon........................................................... 7
4. Speclfylng Lhe declslon varlables ........................................................... 7
3. Speclfylng Lhe consLralnLs and Lhe model Lype...................................... 8
6. Solvlng Lhe model ................................................................................ 10
7. SpreadsheeL sLyle................................................................................. 10
8. Warnlng messages and poLenLlal problem areas................................. 12
9. Speclfylng lnLeger declslon varlables ................................................... 13
10. 8eporL flles and dual prlces.................................................................. 14
11. Savlng and loadlng opLlmlzaLlon models ............................................. 13
uownload Lhe laLesL verslon of Lhls documenL and example flles here:

hLLp://www.melss.com/en/publlcaLlons/
Wiitten by }oein Neissnei anu Thanh-Ba Nguyen. This tutoiial is inspiieu by a similai uocument by Naik
Bioauie at Columbia Business School. Thanks foi Seigei Savin foi help anu feeuback.
2 | Ao l ottoJoctl oo to 5pteoJsbeet Optl ml zotl oo usl oq íxcel 5ol vet


1. Introduct|on
1he ma[or ÞC-based spreadsheeLs used Loday, LoLus, Lxcel and CuaLro, all have bullL-ln opLlmlzers.
1hese opLlmlzers allow llnear, non-llnear, and lnLeger programs Lo be solved wlLhln Lhe spreadsheeL.
1hls gulde provldes a brlef lnLroducLlon Lo uslng Lhe opLlmlzer Solver, whlch ls avallable ln Lhe
Aoolysls group on Lhe uoto Lab ln Lxcel.

I|gure 1: Solver ln Lxcel
lf Lhe uoto Lab does noL have Lhe cholce 5olvet avallable, Lhen look aL Lhe Offlce 8ottoo | íxcel
Optloos Lo see lf Lhe AJJ-los opLlon appear Lhere. lf lL does appear, please selecL íxcel AJJ-los from
Lhe Moooqe drop down. 1hen cllck Co... and make sure LhaL Solver ls enabled. lf Lhe AJJ-los opLlon
does noL appear, run Lhe SeLup program agaln Lo lnsLall lL.
3 | Ao l ottoJoctl oo to 5pteoJsbeet Optl ml zotl oo usl oq íxcel 5ol vet


I|gure 2: Lnabllng Solver
Cne advanLage of Lhe spreadsheeL approach Lo opLlmlzaLlon ls LhaL many opLlmlzaLlon models
can be represenLed ln an undersLandable fashlon ln a spreadsheeL. AnoLher beneflL ls LhaL many
people are already famlllar wlLh uslng spreadsheeLs. 1he spreadsheeL copy command allows large
models wlLh many slmllar consLralnLs Lo be creaLed and solved qulckly ln a spreadsheeL envlronmenL.
Solvlng a llnear program ln Lxcel requlres flve maln sLeps:
1. CreaLlng a spreadsheeL whlch models Lhe problem.
2. Speclfylng Lhe cell whlch conLalns Lhe ob[ecLlve funcLlon.
3. Speclfylng Lhe declslon varlables.
4. Speclfylng Lhe cells whlch deflne Lhe consLralnLs.
3. Solvlng Lhe model, l.e., opLlmlzlng.
Lach sLep ln Lhe process ls descrlbed ln Lhe followlng secLlons. All flgures perLaln Lo MlcrosofL Lxcel
verslon 12 for Wlndows 2007.
2. Creat|ng a spreadsheet mode|
We wlll use a producL mlx example Lo lllusLraLe how Lo lmplemenL a llnear program ln Lxcel. 1he
LancasLer 8rewery musL declde how many barrels of Lhe Lwo Lypes of beer (LancasLer 8londe and
LancasLer 8ed) Lo produce for lLs nexL shlpmenL. lL has a llmlLed supply of lngredlenLs LhaL are used ln
4 | Ao l ottoJoctl oo to 5pteoJsbeet Optl ml zotl oo usl oq íxcel 5ol vet

boLh producLs. Lach barrel of LancasLer 8londe requlres 20 lbs. of corn, 2 ozs. of hops, 10 lbs. of malL,
and ylelds £20 of proflL. Lach barrel of LancasLer 8ed requlres 1 oz. of hops, 30 lbs. of malL, and ylelds
£30 of proflL. 1he company has 300 lbs. of corn, 60 ozs. of hops, and 900 lbs. of malL on hand.
ManagemenL wlshes Lo deLermlne Lhe amounL of 8londe and 8ed produce Lo maxlmlze proflLs.
1o answer Lhls quesLlon, we need Lo creaLe a spreadsheeL whlch wlll calculaLe Lhe proflL and Lhe
amounL of lngredlenLs used for any amounL of blonde beer and red beer produced. llgure 3 shows
Lhe beglnnlng of Lhe spreadsheeL loocostet8tewety.xlsx LhaL accompllshes Lhls. All of Lhe cell enLrles
shown ln Lhe spreadsheeL ln llgure 3 are numerlcal values, l.e., no formulas have been enLered yeL.
1he cells C4 and u4 conLaln Lhe amounLs of LancasLer 8ed and LancasLer 8londe Lo be produced ln
Lhe comlng plannlng perlod. 1he proflL conLrlbuLlons for each producL are conLalned ln Lhe cells C3
and u3. 1he amounL of each lngredlenL requlred per unlL of each producL ls glven ln cells C10:u12.
1he quanLlLy of lngredlenLs avallable ln Lhe comlng perlod ls sLored ln cells C10:C12.

I|gure 3: 1he prellmlnary spreadsheeL loocostet8tewety.xlsx
1he cells LhaL we wlll deslgnaLe as Jeclsloo votlobles, cells C4 and C3, are hlghllghLed wlLh a box.
1he cell LhaL we wlll deslgnaLe as Lhe objectlve fooctloo, cell l3, ls hlghllghLed wlLh a double box.
1hese boxes have no funcLlon ln Lhe spreadsheeL excepL for sLyle, Lhey make Lhe spreadsheeL easler
Lo read.
1he nexL sLep ls Lo creaLe a formula for Lhe proflL ln cell l3. ÞroflL ls Lhe amounL of 8londe
produced mulLlplled by Lhe proflL per barrel of 8londe, plus Lhe amounL of 8ed produced mulLlplled
by Lhe proflL per barrel of 8ed. 1he formula for proflL ln cell l3 ls = SuMÞ8CuuC1(C4:u4, C3:u3).
1


1
1he funcLlon = SuMÞ8CuuC1(8lock1, 8lock2) mulLlplles each correspondlng cell from 8lock1 and 8lock2
and Lhen adds Lhe resulLs. lor example, Lhe formula =SuMÞ8CuuC1(C4:u4, C3:u3) ls equlvalenL Lo
S | Ao l ottoJoctl oo to 5pteoJsbeet Optl ml zotl oo usl oq íxcel 5ol vet

1he amounL of corn requlred for a glven producLlon plan ls compuLed ln cell L10. 1he amounL of
corn requlred ls Lhe amounL of 8londe produced (cell C4) Llmes Lhe corn requlremenL per barrel of
8londe (cell C10), plus Lhe amounL of 8ed produced (cell u4) Llmes Lhe corn requlremenL per barrel
of 8ed (cell u10). 1he formula ln L10 ls = SuMÞ8CuuC1($C$4:$u$4, C10:u10). 1hls ls equlvalenL Lo
Lhe formula +$C$4*C10+$u$4*u10. 1he dollar slgns are added ln Lhe cell addresses for Lhe
producLlon of 8londe and 8ed so LhaL Lhe formula ln cell L10 can be correcLly copled Lo cells L11 and
L12
2
. 1he quanLlLy of lngredlenLs avallable ln Lhe comlng perlod ls sLored ln cells C10:C12.

I|gure 4: 1he spreadsheeL loocostet8tewety.xlsx wlLh formulas
1he spreadsheeL wlLh Lhese formulas ls shown ln llgure 4. We can Lry a few values for Lhe
producLlon quanLlLles Lo LesL Lhe spreadsheeL. lor example, enLer Lhe producLlon plan of 10 barrels

=C4*C3+u4*u3. ln general, boLh blocks musL be of Lhe exacL same slze, l.e., Lhe same number of rows and Lhe
same number of columns. lor example, =SuMÞ8CuuC1(A1:A3, 811:813) ls a valld formula whlle
SuMÞ8CuuC1(A1:A3, 81:83) ls noL valld. 1he SuMÞ8CuuC1 funcLlon ls especlally useful lf Lhe blocks are large.
2
1he dollars slgns ln $C$4:$u$4 are used Lo flx Lhe range when Lhe formula ls copled. WlLhouL Lhe dollar
slgns, Lhe formula ln cell L11 (when copled from L10) would lncorrecLly read =SuMÞ8CuuC1(C3:u3, C11:u11).
WlLh Lhe dollar slgns, Lhe formula ls copled correcLly Lo cell L11 as =SuMÞ8CuuC1($C$4:$u$4, C11:u11).
Ao l ottoJoctl oo to 5pteoJsbeet Optl ml zotl oo usl oq íxcel 5ol vet

of 8londe (ln cell C4) and 10 barrels of 8ed (ln cell u4) Lo see whaL Lhe resulLs are. 1he LoLal proflL
should be £300. 1he amounL of corn used ls 200 lbs., compared Lo Lhe 300 lbs. LhaL are avallable.
30 ozs. of hops are used ouL of 60. 1he producLlon plan uses 400 lbs. of malL ouL of 900 lbs.
7 | Ao l ottoJoctl oo to 5pteoJsbeet Optl ml zotl oo usl oq íxcel 5ol vet


3. Spec|fy|ng the ob[ect|ve funct|on
WlLh all of Lhe formulas enLered ln Lhe spreadsheeL, Lhe nexL sLep ls Lo lnvoke Lhe opLlmlzer l.e.
Solver whlch ls avallable ln Lhe Ana|ys|s group on Lhe Data Lab (cf. lnLroducLlon).

I|gure S: 1he 5olvet lotometets dlalog box
1hls brlngs up Lhe 5olvet lotometets dlalog box shown ln llgure 3. noLlce LhaL Lhe cursor ls
lnlLlally poslLloned ln Lhe box ºSeL 1argeL Cell," whlch ls Lxcel's Lerm for ºob[ecLlve funcLlon". lor
LancasLer 8rewery, Lhe ob[ecLlve ls Lo maxlmlze LoLal proflL, whlch ls compuLed ln cell l3. 1ype l3 or
use Lhe mouse Lo hlghllghL cell l3. noLe LhaL Lhe LargeL cell ls speclfled as ºMax" by defaulL. lor a
mlnlmlzaLlon problem, Lhe clrcle ºMln" should be checked.
uo noL hlL <LnLer> aL Lhls polnL, because LhaL ls equlvalenL Lo asklng Lhe opLlmlzer Lo solve Lhe
problem. 8efore dolng LhaL, Lhe declslon varlables and consLralnLs need Lo be speclfled.
4. Spec|fy|ng the dec|s|on var|ab|es
ln our example, Lhe amounLs of beer and ale Lo produce are Lhe Jeclsloo votlobles, locaLed ln cells
C4:u4. 1he declslon varlable are called cbooqloq cells ln Lxcel. use Lhe mouse or Lype <AlL>-<8> Lo
move Lhe cursor Lo Lhe box labeled º8y Changlng Cells" ln Lhe 5olvet lotometets dlalog box. 1hen
Lype C4:u4 for use Lhe mouse Lo hlghllghL Lhe block C4:u4.
AddlLlonal declslon varlables ln dlfferenL locaLlons of Lhe spreadsheeL can be enLered uslng
commas as separaLors. lor example, you could Lype C4:u4, C10:u12, A14:L16 ln Lhe º8y Changlng
8 | Ao l ottoJoctl oo to 5pteoJsbeet Optl ml zotl oo usl oq íxcel 5ol vet

Cells" box. ln our case Lhls ls noL necessary, slnce Lhere are only Lwo declslon varlables (cells C4 and
u4).
S. Spec|fy|ng the constra|nts and the mode| type
1he nexL sLep ls Lo speclfy Lhe consLralnLs. We flrsL speclfy Lhe nonnegaLlvlLy consLralnLs. 1haL ls, we
need Lo guaranLee LhaL Lhe opLlmal values ln cells C4:u4 are nonnegaLlve. use Lhe mouse Lo cllck on
Lhe ºAdd" buLLon or Lype <AlL>-<A>. 1hls brlngs up Lhe AJJ coosttolot dlalog box shown ln llgure 4
wlLh Lhe cursor lnlLlally poslLloned ln Lhe ºCell 8eference" box.
ln Lhe ºCell 8eference" parL of Lhe AJJ coosttolot dlalog box, Lype C4:u4 or use Lhe mouse Lo
hlghllghL cells C4:u4. nexL selecL Lhe down arrow and choose º>=". 1hen enLer a zero ln Lhe
ºConsLralnL" box. 1hls can be done from Lhe keyboard by Lyplng <AlL>-<C> and Lhen 0, or by uslng Lhe
mouse Lo move Lo Lhe approprlaLe area and Lhen Lyplng 0. 1hls meLhod adds Lwo nonnegaLlvlLy
consLralnLs aL one Llme, C4 >= 0 and u4 >= 0, represenLed as $C$4:$u$4 >= 0. Slnce more consLralnLs
need Lo be added, Lype <AlL>-<A> or use Lhe mouse Lo cllck on Lhe ºAdd" buLLon.
1he only oLher consLralnLs are LhaL Lhe LoLal usage of corn, hops, and malL musL be less Lhan or
equal Lo Lhe correspondlng quanLlLles avallable. ln Lhe ºCell 8eference" parL of Lhe Add ConsLralnL
dlalog box, Lype L10:L12 or use Lhe mouse Lo hlghllghL cells L10:L12. 1he º<=" consLralnL ls Lhe
defaulL. now ln Lhe ºConsLralnL" box enLer C10:C12. 1hls can be done from Lhe keyboard by Lyplng
<AlL>-<C> and Lhen Lyplng C10:C12, or by uslng Lhe mouse Lo cllck ln Lhe ºConsLralnL" box and Lhen
hlghllghLlng cells C10:C12 ln Lhe spreadsheeL. 1hls procedure has speclfled Lhree separaLe
consLralnLs aL once. Slnce no more consLralnLs need Lo be added, cllck Lhe ºCk" buLLon. 1he Solver
ÞarameLers dlalog box should reLurn as shown ln llgure 6.

9 | Ao l ottoJoctl oo to 5pteoJsbeet Optl ml zotl oo usl oq íxcel 5ol vet

I|gure 6: 1he 5olvet lotometets dlalog box wlLh consLralnLs added
ln Lhe ºSub[ecL Lo Lhe ConsLralnLs" parL of Lhe 5olvet lotometets dlalog box Lhere should now be
Lwo llnes. 1he flrsL llne $C$4:$u$4 >=0 ls shorL for Lhe Lwo consLralnLs C4 >= 0 and u4 >= 0. Slmllarly,
Lhe second llne $L$10:$L$12 <= $C$10:$C$12 ls shorL for Lhe Lree consLralnLs L10 <= C10, L11 <=
C11, and L12 <= C12. ConsLralnLs can be deleLed by hlghllghLlng Lhe consLralnL and Lhen hlLLlng Lhe
ºueleLe" buLLon, or edlLed uslng Lhe ºChange" buLLon ln Lhe 5olvet lotometets dlalog box.
1hls llnear program has Lwo declslon varlables and flve consLralnLs. Lxcel verslon 12 allows aL
mosL 200 declslon varlables. lL allows one upper llmlL and one lower llmlL consLralnL on any declslon
varlable plus up Lo 100 addlLlonal consLralnLs
3
.
5peclfyloq o lloeot moJel
Slnce Lhls model ls a llnear program (as opposed Lo a nonllnear program), lL ls good pracLlce Lo leL Lhe
opLlmlzer know Lhls. Choose Lhe ºCpLlons" buLLon ln Lhe 5olvet lotometets dlalog box. 1hls brlngs up
Lhe 5olvet Optloos dlalog box shown ln llgure 7.
Check Lhe ºAssume Llnear Model" box and Lhen cllck on Lhe ºCk" buLLon. 1hls Lells Lhe opLlmlzer
LhaL Lhe model ls a llnear program, as opposed Lo a more compllcaLed nonllnear program. 1he
advanLages of speclfylng a llnear model are fasLer soluLlon Llmes, more accuraLe and rellable resulLs,
and Lhe avallablllLy of more deLalled senslLlvlLy analysls reporLs. AfLer cllcklng on Lhe ºCk" buLLon Lhe
5olvet lotometets dlalog box should reLurn.


3
hLLp://www.solver.com/suppsLdslzellm.hLm
10 | Ao l ottoJoctl oo to 5pteoJsbeet Optl ml zotl oo usl oq íxcel 5ol vet

I|gure 7: 1he 5olvet Optloos dlalog box
6. So|v|ng the mode|
1he producLlon model for Lhe LancasLer 8rewery ls now ready Lo be solved. 1o acLlvaLe Lhe opLlmlzer,
Lype <AlL>-<S> or use Lhe mouse Lo cllck Lhe ºSolve" buLLon. AfLer a few seconds, Lhe 5olvet kesolts
dlalog box should appear. Slnce Lhe defaulL ls ºkeep Solver SoluLlon" cllcklng on ºCk" wlll close Lhe
dlalog box and reveal Lhe opLlmal soluLlon as lllusLraLed ln llgure 8. We wlll reLurn Lo Lhe º8eporLs"
parL of Lhe 5olvet kesolts dlalog box a blL laLer.

I|gure 8: 1he spreadsheeL afLer opLlmlzlng
7. Spreadsheet sty|e
Cne of Lhe drawbacks of spreadsheeLs ls a lock of Jocomeototloo. lor example, Lhe numerlcal values
for Lhe opLlmal soluLlon are clearly shown ln llgure 8. Powever, none of Lhe formulas used ln Lhe
model are dlsplayed. none of Lhe consLralnLs are vlslble ln llgure 8. 1o ald ln communlcaLlng Lhe
underlylng ldeas ln a spreadsheeL lL ls lmporLanL Lo adopL good spreadsheeL style. Whlle sLyle ls
somewhaL a maLLer of personal LasLe, Lhere's good LasLe and bad LasLe.
1hroughouL Lhls course, we wlll adopL some sLyllsLlc convenLlons. llrsL, all declslon varlables wlll
be enclosed ln a sloqle box and (for Lhose forLunaLe enough Lo have color dlsplays) colored bloe. 1he
ob[ecLlve funcLlon wlll be enclosed ln a Jooble box and colored teJ. ConsLralnLs wlll be lndlcaLed
uslng =ll funcLlons as descrlbed below.
1o puL a box around a block of declslon varlables, flrsL hlghllghL (selecL) Lhe block. 1hen cllck on
Lhe rlghL mouse buLLon Lo brlng up a menu. Move Lhe cursor Lo Lhe ºlormaL Cells." menu lLem and
Ao l ottoJoctl oo to 5pteoJsbeet Optl ml zotl oo usl oq íxcel 5ol vet

cllck on Lhe lefL mouse buLLon. 1he lotmot cells dlalog box should appear. Choose Lhe º8order" Lab
and ln Lhe ºSLyle" secLlon choose Lhe slngle llne (whlch ls Lhe defaulL). 1hen choose Lhe border
ºCuLllne". llnally, cllck on Lhe ºCk" buLLon for Lhe llne drawlng Lo Lake effecL.
1o change Lhe LexL color of Lhe declslon varlables, brlng up Lhe lotmot cells dlalog box as before.
Choose Lhe ºlonL" Lab, selecL ºColor", selecL Lhe color blue, and Lhen cllck on Lhe ºCk" buLLon.
1he same procedure can be used Lo puL a double box around Lhe ob[ecLlve funcLlon cell (1he
dlfference ls LhaL a double llne should be selecLed wlLhln llne ºSLyle"). 1hen change Lhe LexL color of
Lhe ob[ecLlve cell Lo red.
coosttolot style
1o vlew Lhe consLralnLs Lhe user can always brlng up Lhe 5olvet lotometets dlalog box. 1he user Lhen
has Lo declpher Lhe llne $L$10:$L$12 <= $C$10:$C$12, whlch really means LhaL Lhe amounL of each
lngredlenL used musL be less Lhan or equal Lo Lhe correspondlng quanLlLy avallable. As an alLernaLlve,
conslder puLLlng Lhe formula
=ll(C10<=C10,"<=","noL <=")
ln cell l10. 1hls formula says LhaL lf Lhe amounL of corn used ls less Lhan or equal Lo Lhe amounL
avallable, dlsplay º<=", oLherwlse, dlsplay ºnoL<=". 1hls formula serves Lwo purposes. llrsL, lL glves a
qulck vlsual lndlcaLlon on Lhe spreadsheeL LhaL a consLralnL exlsLs. Second, lL lndlcaLes wheLher or noL
Lhe consLralnL ls vlolaLed.
unforLunaLely, because compuLers work wlLh flnlLe preclslon numbers, Lhe prevlous formula
does noL always work. lor example, afLer opLlmlzlng cell L10 could conLaln Lhe value 300.000000001,
whlch ls greaLer Lhan 300 sLored ln cell C10. 1o Lhe compuLer, Lhls value ls ºclose enough" Lo
saLlsfylng Lhe consLralnL L10 <= C10. 1o accommodaLe Lhls evenL, Lhe formula placed ln cell l10 ls
=ll(L10<=C10+1.0L-03,"<=","noL <=")
(8ecall 1.0L-03 means 0,00001). now, even lf Lhe value ln cell l10 ls a Llny blL greaLer Lhan Lhe value
ln cell C10, cell l10 wlll show º<=". 1he formula ln cell l10 ls called a coosttolot loJlcotot. lL can be
copled Lo cells l11:l12 Lo lndlcaLe Lhe Lwo oLher scarce resource consLralnLs.
llgure 9 shows whaL Lhe spreadsheeL looks llke for Lhe producLlon plan conslsLlng of 30 barrels
of 8ed only. 1he malL consLralnL ls vlolaLed because Lhe producLlon plan requlres 1,300 lbs. of corn,
buL only 900 lbs. are avallable. Cell l12 dlsplays ºnoL <=" and Lhe producLlon plan ls lofeoslble. 1he
corn and hops consLralnLs are noL vlolaLed, so cells l10 and l11 boLh dlsplay º<=". lor readablllLy ln
Lhe spreadsheeL, lL ls a good ldea, where posslble, Lo keep a lefL-Lo-rlghL consLralnL order:
consLralned cell, consLralnL lndlcaLor, consLralnL llmlL.
Suppose Lhe model had a greaLer Lhan or equal Lo consLralnL, e.g., L10 >= C10. 1hen consLralnL
lndlcaLor ln cell l10 would be
=ll(L10<=C10+1.0L-03,"<=","noL <=")
lor an equallLy consLralnL, e.g., L10 = C10, Lhe consLralnL lndlcaLor ln cell l10 would be
12 | Ao l ottoJoctl oo to 5pteoJsbeet Optl ml zotl oo usl oq íxcel 5ol vet

=ll(A8S(L10-C10)<1.0L-03,"=","noL =").

I|gure 9: 1he spreadsheeL wlLh consLralnLs lndlcaLed
8. Warn|ng messages and potent|a| prob|em areas
1here are several plLfalls Lo avold when uslng Lhe Lxcel for Wlndow opLlmlzer. lor example,
spreadsheeL models ofLen need Lo be scaled so LhaL Lhere are noL exLremely large and exLremely
small numbers ln Lhe same model. 1hls lssue and oLher poLenLlal problems are LreaLed ln Lhls secLlon.
5electeJ Joto Joeso´t poollfy os o lloeot moJel
Cne error message LhaL Lhe Lxcel opLlmlzer can glve ls º1he condlLlons for Assume Llnear Model are
noL saLlsfled". 1hls can happen lf Lhe model ls nonllnear, buL Lhe user checked Lhe ºAssume Llnear
Model" opLlon. Powever, lL can also happen because Lhe problem ls poorly scaled. A poorly scaled
model ls one wlLh numbers LhaL are very dlfferenL ln slze, e.g. 0.0003 and 400,000,000. CfLen Lhe
unlLs of Lhe declslon varlables and/or consLralnLs can be changed Lo achleve a beLLer ºre-scaled"
model. AlLernaLlvely, Lhe Þreclslon of Lhe opLlmlzer can be changed ln Lhe 5olvet Optloos dlalog box.
lor example, Lhe preclslon could be changed from 1.0L-06 Lo 0.001.
MoJel too lotqe
13 | Ao l ottoJoctl oo to 5pteoJsbeet Optl ml zotl oo usl oq íxcel 5ol vet

unforLunaLely Lxcel has bullL-ln llmlLs on Lhe slze of models lL can solve. 1he currenL verslon llmlLs
opLlmlzaLlon models Lo aL mosL 200 declslon varlables. lL allows one upper llmlL and one lower llmlL
consLralnL on any declslon varlable plus up Lo 100 addlLlonal consLralnLs
4
.
ulfflculL nonllnear programs
AfLer hlLLlng Lhe ºSolve" buLLon ln Lhe 5olvet lotometets dlalog box, Lhe opLlmlzer usually reLurns
wlLh Lhe 5olvet kesolts dlalog box and Lhe message ºSolver found a soluLlon. All consLralnLs and
opLlmallLy condlLlons are saLlsfled". lor some hlghly nonllnear problems, Lhe opLlmlzer mlghL noL
glve Lhe opLlmal soluLlon, even Lhough lL says oLherwlse. lf you suspecL Lhls ls Lhe case, Lry changlng
Lhe lnlLlal values of Lhe declslon varlables o a beLLer guess and Lhen re-solve Lhe model. CLher
posslble remedles lnclude changlng some of Lhe oLher opLlons ln Lhe 5olvet Optloos dlalog box. lf Lhe
model ls poorly scaled, Lry changlng Lhe unlLs of Lhe declslon varlables and/or consLralnLs Lo achleve
a beLLer ºre-scaled" model.
9. Spec|fy|ng |nteger dec|s|on var|ab|es
1he Lxcel opLlmlzer can solve opLlmlzaLlon models wlLh lnLeger varlables. ln Lxcel, an lnLeger varlable
refers Lo a general lnLeger varlable, l.e. a varlable resLrlcLed Lo Lhe values ., -2, -1, 0, 1, 2, . lnLeger
varlables can be speclfled ln Lhe AJJ coosttolot dlalog box by selecLlng Lhe down arrow and chooslng
ºlnL".
1o speclfy a blnary (0, 1) varlable, flrsL consLraln Lhe varlable Lo be lnLeger as descrlbed above.
1hen add Lwo consLralnLs speclfylng LhaL Lhe varlable musL be nonnegaLlve and less Lhan or equal
Lo 1.
8e sparlng ln Lhe use of lnLeger varlables, because Lhey can slgnlflcanLly slow Lhe opLlmlzer. lL
almosL never necessary Lo resLrlcL varlables represenLlng Lhe number of lLems Lo produce Lo be
lnLeger. lor example, suppose LhaL a declslon varlable represenLs Lhe number of cars Lo produce ln a
year. uoes lL really maLLer LhaL Lhe soluLlon ls Lo produce 314,234.8 cars? 1he lnpuL daLa ls probably
noL accuraLe Lo more Lhan Lwo slgnlflcanL dlglLs, so lL does noL make sense Lo worry abouL Lhe
fracLlonal 0.8 car.
1he opLlmlzer does noL always solve lnLeger programs Lo opLlmallLy. 1he toletooce parameLer ln
Lhe 5olvet Optloos dlalog box ls seL Lo 3° by defaulL. 1hls means LhaL Lhe opLlmlzer wlll sLop when
Lhe soluLlon wlLhln 3° of Lhe Lrue opLlmal soluLlon. Lven wlLh Lhe Lolerance parameLer seL Lo 3° Lhe
opLlmlzer wlll ofLen glve Lhe Lrue opLlmal soluLlon. 1he defaulL seLLlng ls 0.03 because lnLeger
programs can Lake a very long Llme Lo solve. 1o ensure LhaL Lhe exacL opLlmal soluLlon ls obLalned,
Lhe Lolerance parameLer shouL be seL Lo 0.0°.

4
hLLp://www.solver.com/suppsLdslzellm.hLm
14 | Ao l ottoJoctl oo to 5pteoJsbeet Optl ml zotl oo usl oq íxcel 5ol vet

10. keport f||es and dua| pr|ces
Lxcel can generaLe more deLalled soluLlon reporLs, raLher Lhan [usL showlng Lhe opLlmal soluLlon ln
Lhe spreadsheeL. !usL afLer solvlng a model, Lhe 5olvet kesolts dlalog box should appear. 1he
º8eporLs" parL of Lhe Solver 8esulLs dlalog box conLalns Lhree opLlons: ºAnswer", ºSenslLlvlLy" and
ºLlmlLs". lor our purposes, Lhe mosL useful of Lhese are Lhe ºAnswer" and ºSenslLlvlLy" reporLs.
SelecL Lhese reporLs and Lhen cllck on ºCk". Lxcel wlll Lhen creaLe new sheeLs ln Lhe workbook called
Answer 8eporL 1 and SenslLlvlLy 8eporL 1. 1he answer reporL ls shown ln llgure 10 and Lhe senslLlvlLy
reporL ls shown ln llgure 11.
Answer 8eporL1

I|gure 10: Answer reporL for Lhe spreadsheeL loocostet8tewety.xlsx

SenslLlvlLy reporL1
1S | Ao l ottoJoctl oo to 5pteoJsbeet Optl ml zotl oo usl oq íxcel 5ol vet


I|gure 11: SenslLlvlLy reporL for Lhe spreadsheeL loocostet8tewety.xlsx
1he slze of Lhe reporLs depends on Lhe number of declslon varlables and consLralnLs ln Lhe
model. ln Lhe answer reporL, lnformaLlon ls glven lndlcaLlng wheLher or noL consLralnLs are blndlng aL
Lhe opLlmal soluLlon. ln addlLlon, Lhe answer reporL glves slack values. 1he senslLlvlLy reporL glves
shadow prlces (l.e. dual values), rlghL-hand slde ranges and oLher lnformaLlon. lor example, Lhe dual
value for Lhe hops consLralnL (6, ln Lhls case) represenLs Lhe change ln Lhe opLlmal ob[ecLlve funcLlon
value per unlL change ln Lhe quanLlLy of hops avallable. lf 61 ozs. of hops were avallable Lhe opLlmal
ob[ecLlve proflL would lncrease Lo £1,086.
11. Sav|ng and |oad|ng opt|m|zat|on mode|s
Lxcel saves Lhe mosL recenL opLlmlzaLlon model ln Lhe spreadsheeL. So savlng a model ls oot really
necessary unless you need Lo keep mulLlple opLlmlzaLlon models ln a slngle workbook (l.e.
spreadsheeL). lor example, lL ls someLlmes useful Lo keep models wlLh dlfferenL seLs of consLralnLs or
dlfferenL ob[ecLlve funcLlons. Savlng and loadlng models can also be handy ln con[uncLlon wlLh
spreadsheeL macros.
Savlng and loadlng opLlmlzaLlon models ls done ln Lhe Solver CpLlons dlalog box. Choose
uoto{5olvet{Optloos Lo brlng up Lhe 5olvet Optloos dlalog box. 1hen choose ºSave Model" Lo save an
opLlmlzaLlon model or ºLoad Model" Lo load an opLlmlzaLlon model. AddlLlonal lnformaLlon ls
avallable from Lhe ºPelp" buLLon. lL ls a good pracLlce Lo save Lhe model Lo anoLher sheeL of Lhe
workbook.