Optimization: principles and algorithms, by Michel Bierlaire
Files
Code to run the examples

Octave code to run the examples. More...

Files

file  run0703.m
 Runs example 7.3 with Newton's method, one variable.
 
file  run0704.m
 Runs example 7.4 with Newton's method, one variable.
 
file  run0705.m
 Runs example 7.5 with Newton's method, one variable.
 
file  run0711.m
 Runs example 7.11 with Newton's method, n variables.
 
file  run0712.m
 Runs example 7.12 with Newton's method, n variables.
 
file  runMachineEpsilon.m
 Calculate the machine epsilon.
 
file  run0703df.m
 Runs example 7.3 with Newton's method with finite differences, one variable (Tables 8.1 and 8.2)
 
file  run0703sec.m
 Runs example 7.3 with Newton's secant method, one variable (Table 8.3)
 
file  run0711df.m
 Runs example 7.11 with Newton's method with finite differences (Tables 8.4 and 8.5), n variables.
 
file  run0711sec.m
 Runs example 7.11 with Newton's secant method (Table 8.6), n variables.
 
file  run0908cg.m
 Runs example 9.8 for the conjugate gradient algorithm (Table 9.1).
 
file  run0908quad.m
 Runs example 9.8 with the direct method (algorithm 9.1).
 
file  run0508.m
 Runs example 5.8 with Newton's local, n variables (Table 10.1)
 
file  run0508quadratic.m
 Runs example 5.8 with Newton's local with the quadratic model.
 
file  run0508newton.m
 Runs Newton's method with line search (Algorithm 11.8) [newtonLineSearch] on the Rosenbrock problem (Table 11.8)
 
file  runGoldenSection.m
 Runs example 11.3 with golden section (see goldenSection) (table 11.3)
 
file  runInexactLineSearch.m
 Illustrates inexact line search with example 11.1 (table 11.6)
 
file  runModifiedCholesky.m
 Illustrates the modified Cholesky algorithm.
 
file  runQuadraticInterpolation.m
 Runs example 11.3 with quadratic interpolation (table 11.2)
 
file  runRosenbrockNewtonLineSearch.m
 Runs Newton's method with line search (Algorithm 11.8) [newtonLineSearch] on the Rosenbrock problem.
 
file  runRosenbrockSteepestDescent.m
 Runs the steepest descent algorithm (Algorithm 11.6) on the Rosenbrock problem.
 
file  run0508tr.m
 Runs example 5.8 with Newton's method with trust region (Tables 12.1, 12.2, 12.3)
 
file  run1203dogleg.m
 Runs example 12.3 for the dogleg method.
 
file  run1203tcg.m
 Runs example 12.3 for the truncated conjugate gradients method.
 
file  runIntersectionTrustRegion.m
 Run to illustrate algorithm 12.1.
 
file  runRosenbrockTrustRegion.m
 Runs Trust region method with line search (Algorithm 12.4) [newtonTrustRegion] on the Rosenbrock problem.
 
file  run0508bfgs.m
 Runs example 5.8 with BFGS method with linesearch (Tables 13.1 and 13.2)
 
file  run0508sr1.m
 Runs example 5.8 with SR1 method with trust region (Tables 13.3 et 13.4)
 
file  runRosenbrockBfgs.m
 Runs BFGS with line search (Algorithm 13.1) [bfgs] on the Rosenbrock problem.
 
file  runRosenbrockSr1.m
 Runs Trust region method with symmetric rank one (Algorithm 13.2) [newtonTrustRegion] on the Rosenbrock problem.
 
file  runGaussNewton.m
 Run to illustrate the Gauss-Newton algorithm 14.1.
 
file  runKalman.m
 Run to illustrate the Kalman filter algorithm 14.2 (Table 14.3)
 
file  runNeuralNetwork.m
 Run the neural network example (Example 14.2) to illustrate the Gauss-Newton algorithm 14.1.
 
file  run1502nelderMead.m
 Runs example 15.2 illustrating the Nelder-Nead algorithm (Table 15.1)
 
file  run1503nelderMead.m
 Runs example 15.3 illustrating the Nelder-Nead algorithm (Table 15.2)
 
file  run1503torczon.m
 Runs example 15.3, the McKinnon example with Torczon's algorithm (Table 15.3)
 
file  run1604.m
 Runs example 16.4 illustrating the vertex enumeration algorithm.
 
file  run1604simplex.m
 Runs example 16.4 illustrating the simplex method.
 
file  run1607simplex.m
 Runs example 16.4 illustrating the simplex method.
 
file  run1612pivoting.m
 Runs example 16.12 illustrating the pivoting.
 
file  run1613.m
 Runs example 16.13 of [1].
 
file  run1615.m
 Runs example 16.15 of [1].
 
file  run1616.m
 Runs example 16.16 of [1].
 
file  runBoundConstraints.m
 Example where some combinations of basic variables are associated with a singular matrix B.
 
file  run1607dikin.m
 Runs example 16.7 illustrating the Dikin method (Table 17.4)
 
file  run1702.m
 Runs example 17.2 of [1] (Tables 17.1 and 17.2)
 
file  run1702constrainedNewton.m
 Runs example 17.2 of [1] with constrained Newton (Table 17.3)
 
file  run1703.m
 Runs example 17.3 of [1].
 
file  run1807longSteps.m
 Runs example 18.7 with the long steps algorithm of [1] (Table 18.7)
 
file  run1807predictorCorrector.m
 Runs example 18.7 with the predictor-corrector algorithm of [1] (Table 18.6)
 
file  run1807restrictedSteps.m
 Runs example 18.7 with the restricted steps algorithm of [1] (Table 18.5)
 
file  run1905.m
 Runs example 19.5 with the augmented lagrangian method of [1].
 
file  run1906.m
 Runs example 19.6 with the augmented lagrangian method of [1].
 
file  run2002.m
 Runs example 20.2 with the local SQP algorithm of [1] (Tables 20.1, 20.2, 20.3, 20.4)
 
file  run2003.m
 Runs example 20.3 with the local SQP algorithm of [1] (Table 20.5)
 
file  run2004.m
 Runs example 20.4 with the local SQP algorithm of [1] (Table 20.6)
 
file  run2007.m
 Runs example 20.7 with the global SQP algorithm of [1] (Tables 20.7, 20.8)
 
file  run2120.m
 Runs example 21.20 with the Jarnik-Prim algorithm for minimum spanning tree (Algorithm 21.4 of [1])
 
file  runCirculationDecomposition.m
 Run the circulation decomposition algorithm on the example represented in Figure 21.15 of [1].
 
file  runDivergence.m
 Calculate the divergence of the example in Figure 21.10 of [1].
 
file  runFlowDecomposition.m
 Run the flow decomposition algorithm on the examples represented in Figures 21.14 and 21.19 of [1].
 
file  runPrepareNetwork.m
 Run the function that prepares the network.
 
file  runSimpleCycle.m
 Run the algorithm extracting cycle flow vector on the example represented in Figure 21.15 of [1].
 
file  runAssignmentTrans.m
 Solve the transportation problem as a transhipment problem (Example 22.14 of [1])
 
file  runMaxFlowTrans.m
 Solve the max flow problem as a transhipment problem (Figure 22.6 of [1])
 
file  runTransportationTrans.m
 Solve the transportation problem as a transhipment problem (Example 22.12 od [1].
 
file  runDijkstra.m
 Run to illustrate Dijkstra's algortihm (Table 23.4)
 
file  runEnumeratePaths.m
 Run to illustrate the path enumeration algorithm (Table 23.1)
 
file  runPert.m
 Run to illustrate the use of longest path for PERT (Section 23.4 of [1].
 
file  runShortestPath.m
 Run to illustrate the shortest path algorithm (Table 23.2)
 
file  run2402.m
 Run the FordFulkerson algorithm on Example 24.2 of [1].
 
file  runUnsaturatedPath.m
 Run the unsaturated path algorithm on Example 24.2 of [1].
 
file  run2512.m
 Runs example 25.12 of [1].
 
file  run2702.m
 Runs example 27.2 of [1], solving the problem using an exact method.
 
file  run2703.m
 Runs example 27.03 of [1].
 
file  run2513gomory.m
 Runs example 25.13 of [1] with Algorithm 26.3.
 
file  run2604.m
 Runs example 26.4 of [1].
 
file  run2604gomory.m
 Runs example 26.4 of [1] with Algorithm 26.3.
 
file  runGomory.m
 Runs example of Gomory cut.
 
file  run2702greedy.m
 Runs example 27.2 of [1], solving the problem using the greedy heuristic.
 
file  run2702localSearchDeterministic.m
 Runs example 27.2 of [1], solving the problem using the local search method (Table 27.6)
 
file  run2702localSearchRandom.m
 Runs example 27.2 of [1], solving the problem using the local search method with random neighbors.
 
file  run2702simAnn.m
 Runs example 27.2 of [1], solving the problem using the simulated annealing method (see Section 27.4.1 of [1]).
 
file  run2702vns.m
 Runs example 27.2 of [1], solving the problem using the VNS method.
 
file  run2703insertion.m
 Runs example 27.3 of [1], solving the problem using the greedy heuristic (Algorithm 27.2, Table 27.2, Figure 27.4)
 
file  run2703localSearch.m
 Runs Algorithm 27.3 on example 27.3 of [1], solving the TSP with local search (Figure 27.11, Table 27.7, Figure 27.12)
 
file  run2703nearestNeighrbor.m
 Runs example 27.3 of [1], solving the problem using the greedy heuristic.
 
file  run2703simAnn.m
 Runs example 27.3 of [1], solving the problem using simmulated annealing (Section 27.4.2 of [1] ).
 
file  run2703vns.m
 Runs example 27.3 of [1], solving the problem using VNS (Section 27.3.2 of [1] ).
 

Detailed Description

Octave code to run the examples.

Copyright 2015-2016 Michel Bierlaire