Chapter25: Optimization
585
25 Optimization
Octavecomeswithsupportforsolvingvariouskindsofoptimizationproblems.Specifically
Octave can solve problems in Linear Programming, Quadratic Programming, , Nonlinear
Programming,andLinearLeastSquaresMinimization.
25.1 LinearProgramming
OctavecansolveLinearProgrammingproblemsusingtheglpkfunction. Thatis,Octave
cansolve
min
x
c
T
x
subjecttothelinearconstraintsAx=bwherex0.
Theglpkfunctionalsosupportsvariationsofthisproblem.
[FunctionFile]
[xopt, fmin, errnum, extra] ] = = glpk
(
c
,
A
,
b
,
lb
,
ub
,
ctype
,
vartype
,
sense
,
param
)
SolvealinearprogramusingtheGNUglpklibrary.
Giventhreearguments,glpksolvesthefollowingstandardLP:
min
x
C
T
x
subjectto
Ax=b
x0
butmayalsosolveproblemsoftheform
[min
x
jmax
x
]C
T
x
subjectto
Ax[=jj]b
LBxUB
Inputarguments:
c
Acolumnarraycontainingtheobjectivefunctioncoefficients.
A
Amatrixcontainingtheconstraintscoefficients.
b
Acolumnarraycontainingtheright-handsidevalueforeachconstraint
intheconstraintmatrix.
lb
Anarraycontainingthelowerboundoneachofthevariables.Iflbisnot
supplied,thedefaultlowerboundforthevariablesiszero.
ub
Anarraycontainingtheupperboundoneachofthevariables. Ifubis
notsupplied,thedefaultupperboundisassumedtobeinfinite.
ctype
An array of characters containing g the e sense e of each constraint in n the
constraintmatrix. Eachelementofthearraymaybeoneofthefollowing
values
Pdf format specification - Split, seperate PDF into multiple files in C#.net, ASP.NET, MVC, Ajax, WinForms, WPF
Explain How to Split PDF Document in Visual C#.NET Application
can't cut and paste from pdf; pdf split
Pdf format specification - VB.NET PDF File Split Library: Split, seperate PDF into multiple files in vb.net, ASP.NET, MVC, Ajax, WinForms, WPF
VB.NET PDF Document Splitter Control to Disassemble PDF Document
break a pdf into multiple files; pdf split file
586
GNUOctave
"F"
Afree(unbounded)constraint(theconstraintisignored).
"U"
Aninequalityconstraintwithanupperbound(A(i,:)*x<=
b(i)).
"S"
Anequalityconstraint(A(i,:)*x=b(i)).
"L"
Aninequalitywithalowerbound(A(i,:)*x>=b(i)).
"D"
Aninequalityconstraintwithbothupperandlowerbounds
(A(i,:)*x>=-b(i))and (A(i,:)*x<=b(i)).
vartype
Acolumnarraycontainingthetypesofthevariables.
"C"
Acontinuousvariable.
"I"
Anintegervariable.
sense
Ifsenseis1,theproblemisaminimization.Ifsenseis-1,theproblemis
amaximization. Thedefaultvalueis1.
param
Astructure containing the followingparameters usedtodefine the be-
haviorofsolver.Missingelementsinthestructuretakeondefaultvalues,
soyouonlyneedtosettheelementsthatyouwishtochangefromthe
default.
Integerparameters:
msglev(default:1)
Levelofmessagesoutputbysolverroutines:
0(GLP_MSG_OFF)
Nooutput.
1(GLP_MSG_ERR)
Errorandwarningmessagesonly.
2(GLP_MSG_ON)
Normaloutput.
3(GLP_MSG_ALL)
Fulloutput(includesinformationalmessages).
scale(default:16)
Scalingoption.Thevaluescanbecombinedwiththebitwise
ORoperatorandmaybethefollowing:
1(GLP_SF_GM)
Geometricmeanscaling.
16(GLP_SF_EQ)
Equilibrationscaling.
32(GLP_SF_2N)
Roundscalefactorstopoweroftwo.
64(GLP_SF_SKIP)
Skipifproblemiswellscaled.
TIFF Image Viewer| What is TIFF
The TIFF specification contains two parts: Baseline TIFF (the edit and processing images with TIFF format and other such as Bitmap, Png, Gif, Tiff, PDF, MS-Word
break pdf into smaller files; split pdf into individual pages
DocImage SDK for .NET: Web Document Image Viewer Online Demo
Microsoft PowerPoint: PPTX, PPS, PPSX; PDF: Portable Document Format; TIFF: Tagged Image File Format; XPS: XML Paper Specification. Supported Browers: IE9+;
break a pdf password; break a pdf into smaller files
Chapter25: Optimization
587
Alternatively,avalueof128(GLP_SF_AUTO)maybealsospec-
ified,in which case theroutine chooses s thescaling options
automatically.
dual(default:1)
Simplexmethodoption:
1(GLP_PRIMAL)
Usetwo-phaseprimalsimplex.
2(GLP_DUALP)
Usetwo-phasedualsimplex,andifitfails,switch
totheprimalsimplex.
3(GLP_DUAL)
Usetwo-phasedualsimplex.
price(default:34)
Pricingoption(forbothprimalanddualsimplex):
17(GLP_PT_STD)
Textbookpricing.
34(GLP_PT_PSE)
Steepestedgepricing.
itlim(default:intmax)
Simplex iterations s limit. . It t is decreasedby one eachtime
whenonesimplexiterationhasbeenperformed,andreaching
zerovaluesignalsthesolvertostopthesearch.
outfrq(default:200)
Outputfrequency,initerations.Thisparameterspecifieshow
frequentlythesolversendsinformationaboutthesolutionto
thestandardoutput.
branch(default:4)
Branchingtechniqueoption(forMIPonly):
1(GLP_BR_FFV)
Firstfractionalvariable.
2(GLP_BR_LFV)
Lastfractionalvariable.
3(GLP_BR_MFV)
Mostfractionalvariable.
4(GLP_BR_DTH)
HeuristicbyDriebeckandTomlin.
5(GLP_BR_PCH)
Hybridpseudocostheuristic.
btrack(default:4)
Backtrackingtechniqueoption(forMIPonly):
GIF Image Viewer| What is GIF
routines according to the latest GIF specification to meet edit and processing images with Gif format and other such as Bitmap, Png, Gif, Tiff, PDF, MS-Word
break pdf password; break apart a pdf
C# Imaging - C# Code 128 Generation Guide
minimum left and right margins that go with specification. load a program with an incorrect format", please check Create Code 128 on PDF, Multi-Page TIFF, Word
pdf link to specific page; pdf format specification
588
GNUOctave
1(GLP_BT_DFS)
Depthfirstsearch.
2(GLP_BT_BFS)
Breadthfirstsearch.
3(GLP_BT_BLB)
Bestlocalbound.
4(GLP_BT_BPH)
Bestprojectionheuristic.
presol(default:1)
If this flag g is s set, , the e simplex x solver uses the built-in n LP
presolver.OtherwisetheLPpresolverisnotused.
lpsolver(default:1)
Selectwhichsolvertouse. IftheproblemisaMIPproblem
thisflagwillbeignored.
1
Revisedsimplexmethod.
2
Interiorpointmethod.
rtest(default:34)
Ratiotesttechnique:
17(GLP_RT_STD)
Standard("textbook").
34(GLP_RT_HAR)
Harris’two-passratiotest.
tmlim(default:intmax)
Searchingtimelimit,inmilliseconds.
outdly(default:0)
Outputdelay,inseconds. Thisparameterspecifieshowlong
thesolver shoulddelaysendinginformationaboutthesolu-
tiontothestandardoutput.
save(default:0)
If this parameteris nonzero,savea copyoftheproblemin
CPLEXLPformattothefile"outpb.lp".Thereiscurrently
nowaytochangethenameoftheoutputfile.
Realparameters:
tolbnd(default:1e-7)
Relativetoleranceusedtocheckifthecurrentbasicsolution
is primal l feasible. . It t is not recommended d that t youchange
thisparameter unless youhave adetailedunderstandingof
itspurpose.
toldj(default:1e-7)
Absolutetoleranceusedtocheckifthecurrentbasicsolution
isdualfeasible.Itisnotrecommendedthatyouchangethis
VB Imaging - EAN-8 Generating Tutorial
compatible with the latest GS1 General Specification, with the Besides the PNG image format, other supported common 8 on defined page area of a PDF, multi-page
acrobat split pdf bookmark; break pdf into separate pages
VB.NET Image: Create Code 11 Barcode on Picture & Document Using
REFile.SaveDocumentFile(doc, "c:/code11.pdf", New PDFEncoder()). Data, Valid: 0-9, -, Format, PNG GIF JPEG. to the ISO/IEC international specification, the minimum
split pdf into multiple files; cannot print pdf no pages selected
Chapter25: Optimization
589
parameter unless s you u have a detailed understanding of its
purpose.
tolpiv(default:1e-10)
Relativetoleranceusedtochooseeligiblepivotalelementsof
thesimplextable. It t is not recommendedthat youchange
thisparameter unless youhave adetailedunderstandingof
itspurpose.
objll(default:-DBL_MAX)
Lowerlimitoftheobjectivefunction. Iftheobjectivefunc-
tionreaches this limit andcontinues decreasing, , the solver
stopsthesearch. Thisparameterisusedinthedualsimplex
methodonly.
objul(default:+DBL_MAX)
Upperlimitoftheobjectivefunction. Iftheobjectivefunc-
tion reaches s this limit t and continues s increasing, , the solver
stopsthesearch. Thisparameterisusedinthedualsimplex
only.
tolint(default:1e-5)
Relativetoleranceusedtocheckifthecurrentbasicsolution
is integer feasible. . It t is not recommendedthat youchange
thisparameter unless youhave adetailedunderstandingof
itspurpose.
tolobj(default:1e-7)
Relativetoleranceusedtocheckifthevalueoftheobjective
functionisnotbetterthaninthebestknownintegerfeasible
solution.Itisnotrecommendedthatyouchangethisparam-
eterunlessyouhaveadetailedunderstandingofitspurpose.
Outputvalues:
xopt
Theoptimizer(thevalueofthedecisionvariablesattheoptimum).
fopt
Theoptimumvalueoftheobjectivefunction.
errnum
Errorcode.
0
Noerror.
1(GLP_EBADB)
Invalidbasis.
2(GLP_ESING)
Singularmatrix.
3(GLP_ECOND)
Ill-conditionedmatrix.
4(GLP_EBOUND)
Invalidbounds.
C# Imaging - QR Code Image Generation Tutorial
to draw, insert QR Codes in PDF, TIFF, MS C# code to adjust bar code image format, location, resolution ISO+IEC+18004 QR Code bar code symbology specification.
pdf rotate single page; pdf file specification
C# Imaging - EAN-8 Generating Tutorial
compatible with the latest GS1 General Specification, with the Besides the PNG image format, other supported common 8 on defined page area of a PDF, multi-page
break pdf password online; break pdf into multiple files
590
GNUOctave
5(GLP_EFAIL)
Solverfailed.
6(GLP_EOBJLL)
Objectivefunctionlowerlimitreached.
7(GLP_EOBJUL)
Objectivefunctionupperlimitreached.
8(GLP_EITLIM)
Iterationslimitexhausted.
9(GLP_ETMLIM)
Timelimitexhausted.
10(GLP_ENOPFS)
Noprimalfeasiblesolution.
11(GLP_ENODFS)
Nodualfeasiblesolution.
12(GLP_EROOT)
RootLPoptimumnotprovided.
13(GLP_ESTOP)
Searchterminatedbyapplication.
14(GLP_EMIPGAP)
RelativeMIPgaptolerancereached.
15(GLP_ENOFEAS)
Noprimal/dualfeasiblesolution.
16(GLP_ENOCVG)
Noconvergence.
17(GLP_EINSTAB)
Numericalinstability.
18(GLP_EDATA)
Invaliddata.
19(GLP_ERANGE)
Resultoutofrange.
extra
Adatastructurecontainingthefollowingfields:
lambda
Dualvariables.
redcosts ReducedCosts.
time
Time(inseconds)usedforsolvingLP/MIPproblem.
status
Statusoftheoptimization.
1(GLP_UNDEF)
Solutionstatusisundefined.
VB Imaging - Micro PDF 417 VB Barcode Generation
with established ISO/IEC barcode specification and standard You can easily generator Micro PDF 417 barcode and a program with an incorrect format", please check
break a pdf apart; break a pdf into separate pages
GS1-128 C#.NET Integration Tutoria
by GS1 in its system standards using Code 128 barcode specification. text //Generate EAN 128 barcodes in GIF image format ean128.generateBarcodeToImageFile
split pdf files; break up pdf file
Chapter25: Optimization
591
2(GLP_FEAS)
Solutionisfeasible.
3(GLP_INFEAS)
Solutionisinfeasible.
4(GLP_NOFEAS)
Problemhasnofeasiblesolution.
5(GLP_OPT)
Solutionisoptimal.
6(GLP_UNBND)
Problemhasnounboundedsolution.
Example:
c = [10, , 6, , 4]’;
A = [ [ 1, 1, , 1;
10, 4, , 5;
2, 2, , 6];
b = [100, 600, 300]’;
lb = = [0, , 0, , 0]’;
ub = = [];
ctype = = "UUU";
vartype = "CCC";
s = -1;
param.msglev = 1;
param.itlim = = 100;
[xmin, fmin, status, extra] ] = = ...
glpk (c, A, b, lb, ub, ctype, vartype, , s, , param);
25.2 QuadraticProgramming
OctavecanalsosolveQuadraticProgrammingproblems,thisis
min
x
1
2
x
T
Hx+x
T
q
subjectto
Ax=b
lbxub
A
lb
A
in
A
ub
[FunctionFile]
[x, obj, info, , lambda] ] = = qp
(
x0
,
H
)
[FunctionFile]
[x, obj, info, , lambda] ] = = qp
(
x0
,
H
,
q
)
[FunctionFile]
[x, obj, info, , lambda] ] = = qp
(
x0
,
H
,
q
,
A
,
b
)
[FunctionFile]
[x, obj, info, , lambda] ] = = qp
(
x0
,
H
,
q
,
A
,
b
,
lb
,
ub
)
[FunctionFile]
[x, obj, info, , lambda] ] = = qp
(
x0
,
H
,
q
,
A
,
b
,
lb
,
ub
,
A_lb
,
A_in
,
A_ub
)
[FunctionFile]
[x, obj, info, , lambda] ] = = qp
(...,
options
)
Solveaquadraticprogram(QP).
592
GNUOctave
Solvethequadraticprogramdefinedby
min
x
1
2
x
T
Hx+x
T
q
subjectto
Ax=b
lbxub
A
lb
A
in
A
ub
usinganull-spaceactive-setmethod.
Anybound(A,b,lb,ub,A
lb,A
ub) maybe settotheemptymatrix([]) ifnot
present. Iftheinitialguessisfeasiblethealgorithmisfaster.
options
Anoptionalstructurecontainingthefollowingparameter(s)usedtodefine
the behavior of the e solver. . Missing g elements in the structure take on
default values, , so you only needto set t the elements that t you wish to
changefromthedefault.
MaxIter(default:200)
Maximumnumberofiterations.
info
Structurecontainingrun-timeinformationaboutthealgorithm.Thefol-
lowingfieldsaredefined:
solveiter
Thenumberofiterationsrequiredtofindthesolution.
info
Anintegerindicatingthestatusofthesolution.
0
Theproblemisfeasibleandconvex.Globalsolu-
tionfound.
1
Theproblemisnotconvex.Localsolutionfound.
2
Theproblemisnotconvexandunbounded.
3
Maximumnumberofiterationsreached.
6
Theproblemisinfeasible.
[FunctionFile]
x = = pqpnonneg
(
c
,
d
)
[FunctionFile]
x = = pqpnonneg
(
c
,
d
,
x0
)
[FunctionFile]
[x, minval] = = pqpnonneg
(...)
[FunctionFile]
[x, minval, exitflag] ] = pqpnonneg
(...)
[FunctionFile]
[x, minval, exitflag, , output] = pqpnonneg
(...)
[FunctionFile]
[x, minval, exitflag, , output, lambda] = pqpnonneg
(...)
Minimize1/2*x’*c*x+d’*xsubjecttox>=0.
c ##anddmustbereal,andcmustbesymmetricandpositivedefinite.
x0isanoptionalinitialguessforx.
Outputs:
 minval
Theminimumattainedmodelvalue,1/2*xmin’*c*xmin+d’*xmin
Chapter25: Optimization
593
 exitflag
Anindicatorofconvergence. 0indicatesthattheiterationcountwasexceeded,
andthereforeconvergencewasnotreached;>0indicatesthatthealgorithmcon-
verged. (Thealgorithmisstableandwillconvergegivenenoughiterations.)
 output
Astructurewithtwofields:
 "algorithm":Thealgorithmused("nnls")
 "iterations":Thenumberofiterationstaken.
 lambda
Notimplemented.
Seealso: [optimset],page597,[lsqnonneg],page596,[qp],page591.
25.3 NonlinearProgramming
Octavecanalsoperformgeneralnonlinearminimizationusingasuccessivequadraticpro-
grammingsolver.
[FunctionFile]
[x, obj, info, , iter, nf, lambda] = sqp
(
x0
,
phi
)
[FunctionFile]
[...] = sqp
(
x0
,
phi
,
g
)
[FunctionFile]
[...] = sqp
(
x0
,
phi
,
g
,
h
)
[FunctionFile]
[...] = sqp
(
x0
,
phi
,
g
,
h
,
lb
,
ub
)
[FunctionFile]
[...] = sqp
(
x0
,
phi
,
g
,
h
,
lb
,
ub
,
maxiter
)
[FunctionFile]
[...] = sqp
(
x0
,
phi
,
g
,
h
,
lb
,
ub
,
maxiter
,
tol
)
Minimizeanobjectivefunctionusingsequentialquadraticprogramming(SQP).
Solvethenonlinearprogram
min
x
(x)
subjectto
g(x)=0
h(x)0
lbxub
usingasequentialquadraticprogrammingmethod.
Thefirstargumentistheinitialguessforthevectorx0.
Thesecondargumentisafunctionhandlepointingtotheobjectivefunctionphi.The
objectivefunctionmustacceptonevectorargumentandreturnascalar.
Thesecondargumentmayalsobea2-or3-element cellarrayoffunctionhandles.
The first element t should point t to the objective function, , the e secondshouldpoint
to a functionthat t computes s the gradient t of f the objective function, andthe third
shouldpointtoafunctionthatcomputestheHessianoftheobjectivefunction.Ifthe
gradientfunctionis not supplied,thegradientis computedbyfinitedifferences. . If
theHessianfunctionisnotsupplied,aBFGSupdateformulaisusedtoapproximate
theHessian.
Whensupplied,thegradientfunctionphi{2}mustacceptonevectorargumentand
returnavector.Whensupplied,theHessianfunctionphi{3}mustacceptonevector
argumentandreturnamatrix.
594
GNUOctave
Thethirdandfourthargumentsg andharefunctionhandlespointingtofunctions
thatcomputetheequalityconstraintsandtheinequalityconstraints,respectively. If
the problem does not haveequality (or inequality) constraints, thenuseanempty
matrix ([]) for g (or r h). . When n supplied, these equality and inequality y constraint
functionsmustacceptonevectorargumentandreturnavector.
Thethirdandfourthargumentsmayalsobe2-elementcellarraysoffunctionhandles.
Thefirstelementshouldpointtotheconstraintfunctionandthesecondshouldpoint
toafunctionthatcomputesthegradientoftheconstraintfunction:
@f(x)
@x
1
;
@f(x)
@x
2
;:::;
@f(x)
@x
N
!
T
The fifth and sixth arguments, , lb b and ub, contain lower and upper r bounds on n x.
Thesemustbeconsistentwiththeequalityandinequalityconstraintsgandh. Ifthe
argumentsarevectorsthenx(i)isboundbylb(i)andub(i). Aboundcanalsobea
scalarinwhichcaseallelementsofx willsharethesamebound. . Ifonlyonebound
(lb,ub)isspecifiedthentheotherwilldefaultto(-realmax,+realmax).
The seventh argument maxiter r specifies s the e maximum number r of f iterations. . The
defaultvalueis100.
Theeighthargumenttolspecifiesthetoleranceforthestoppingcriteria.Thedefault
valueissqrt(eps).
Thevaluereturnedininfomaybeoneofthefollowing:
101
Thealgorithmterminatednormally. Allconstraints s meet the specified
tolerance.
102
TheBFGSupdatefailed.
103
Themaximumnumberofiterationswasreached.
104
Thestepsizehasbecometoosmall,i.e.,Δx;islessthantol*norm(x).
Anexampleofcallingsqp:
function r r = g (x)
r = = [ [ sumsq(x)-10;
x(2)*x(3)-5*x(4)*x(5);
x(1)^3+x(2)^3+1 ];
endfunction
function obj j = phi (x)
obj = = exp (prod (x)) - - 0.5*(x(1)^3+x(2)^3+1)^2;
endfunction
x0 = = [-1.8; 1.7; ; 1.9; ; -0.8; ; -0.8];
[x, obj, , info, , iter, nf, , lambda] ] = sqp p (x0, , @phi, , @g, , [])
x =
Documents you may be interested
Documents you may be interested