Baixe o app para aproveitar ainda mais
Prévia do material em texto
Excel Solver Help Sumário Excel Solver Help ........................................................................................................................................................... 1 Introduction ...................................................................................................................................................................... 4 OVERVIEW AND EXAMPLE ................................................................................................................................................ 4 Example of a Solver problem ........................................................................................................................................ 4 DEFINE AND SOLVE A PROBLEM ....................................................................................................................................... 4 HOW TO LOAD OR START SOLVER .................................................................................................................................... 5 ADD, CHANGE OR DELETE A CONSTRAINT ........................................................................................................ 6 HOW RELATIONAL CONSTRAINTS AFFECT SOLVING......................................................................................................... 7 Bounds on the variables ................................................................................................................................................ 7 HOW INTEGER, BINARY AND ALLDIFFERENT CONSTRAINTS AFFECT SOLVING ................................................................ 7 Options for Solving with Integer Constraints ................................................................................................................ 8 EXCEL SOLVER - PAUSE OR STOP SOLVER ....................................................................................................... 8 SHOW SOLVER TRIAL SOLUTIONS ..................................................................................................................................... 8 CHANGE SOLVER OPTIONS................................................................................................................................................ 9 CHANGE OPTIONS FOR ALL SOLVING METHODS .......................................................................................................... 9 Constraint precision .................................................................................................................................................. 9 Use Automatic Scaling............................................................................................................................................... 9 Show Iteration Results .............................................................................................................................................. 9 Solving with Integer Constraints ............................................................................................................................... 9 Solving Limits .............................................................................................................................................................. 10 CHANGE OPTIONS FOR GRG NONLINEAR SOLVING METHOD .................................................................................... 10 Convergence ........................................................................................................................................................... 10 Derivatives .............................................................................................................................................................. 10 MultiStart Options for Global Optimization............................................................................................................ 10 CHANGE OPTIONS FOR EVOLUTIONARY SOLVING METHOD ...................................................................................... 11 Convergence ........................................................................................................................................................... 11 Mutation Rate ......................................................................................................................................................... 11 Population Size ........................................................................................................................................................ 11 Random Seed .......................................................................................................................................................... 11 Maximum Time without Improvement................................................................................................................... 11 Require Bounds on Variables .................................................................................................................................. 12 REAPPLY THE DEFAULT SOLVER SETTINGS...................................................................................................................... 12 SAVE OR LOAD A SOLVER MODEL ................................................................................................................................... 12 UNDERSTANDING SOLVER RESULTS MESSAGES ............................................................................................................. 12 SOLVER RESULT MESSAGES ........................................................................................................................................ 13 SOLVER FOUND A SOLUTION. ALL CONSTRAINTS AND OPTIMALITY CONDITIONS ARE SATISFIED (0). ................. 13 EXCEL SOLVER - SOLVER HAS CONVERGED TO THE CURRENT SOLUTION. ALL CONSTRAINTS ARE SATISFIED (1). 14 EXCEL SOLVER - SOLVER CANNOT IMPROVE THE CURRENT SOLUTION. ALL CONSTRAINTS ARE SATISFIED (2). ... 14 EXCEL SOLVER - STOP CHOSEN WHEN THE MAXIMUM ITERATION LIMIT WAS REACHED (3). .............................. 14 EXCEL SOLVER - THE OBJECTIVE CELL VALUES DO NOT CONVERGE (4). ................................................................ 15 SOLVER COULD NOT FIND A FEASIBLE SOLUTION (5). ............................................................................................ 15 SOLVER STOPPED AT USER’S REQUEST (6). ............................................................................................................ 16 THE LINEARITY CONDITIONS REQUIRED BY THIS LP SOLVER ARE NOT SATISFIED (7). ........................................... 16 THE PROBLEM IS TOO LARGE FOR SOLVER TO HANDLE (8). ................................................................................... 16 SOLVER ENCOUNTERED AN ERROR VALUE IN THE OBJECTIVE CELL OR A CONSTRAINT CELL (9). ......................... 16 STOP CHOSEN WHEN THE MAXIMUM TIME LIMIT WAS REACHED (10). ............................................................... 16 THERE IS NOT ENOUGH MEMORY AVAILABLE TO SOLVE THE PROBLEM (11). ...................................................... 17 EXCEL SOLVER -ERROR IN MODEL. PLEASE VERIFY THAT ALL CELLS AND CONSTRAINTS ARE VALID (13). ............ 17 NEW MESSAGES IN EXCEL 2010 AND EXCEL 2011 ...................................................................................................... 17 SOLVER FOUND AN INTEGER SOLUTION WITHIN TOLERANCE. ALL CONSTRAINTS ARE SATISFIED (14). ............... 17 STOP CHOSEN WHEN THE MAXIMUM NUMBER OF [INTEGER OR FEASIBLE] SOLUTIONS WAS REACHED (15). ... 17 STOP CHOSEN WHEN THE MAXIMUM NUMBER OF [INTEGER] SUBPROBLEMS WAS REACHED (16). ................... 17 SOLVER CONVERGED IN PROBABILITY TO A GLOBAL SOLUTION (17). ................................................................... 18 ALL VARIABLES MUST HAVE BOTH UPPER AND LOWER BOUNDS (18). .................................................................18 VARIABLE BOUNDS CONFLICT IN BINARY OR ALLDIFFERENT CONSTRAINT (19). ................................................... 18 LOWER AND UPPER BOUNDS ON VARIABLES ALLOW NO FEASIBLE SOLUTION (20). ............................................ 18 PROBLEMS WITH POORLY SCALED MODELS ............................................................................................................... 18 Dealing with Poor Scaling ........................................................................................................................................ 19 INTEGER CONSTRAINTS AND THE INTEGER OPTIMALITY TOLERANCE ....................................................................... 19 LIMITATIONS ON SMOOTH NONLINEAR OPTIMIZATION ............................................................................................ 19 Note that, when the GRG Nonlinear Solving method is selected in the dropdown list in the Solver Parameters dialog, the Generalized Reduced Gradient algorithm is used to solve the problem – even if it is actually a linear model that could be solved by the (faster and more reliable) Simplex LP method. The GRG method will usually find the optimal solution to a linear problem, but occasionally you will receive a Solver Result Message indicating some uncertainty about the status of the solution – especially if the model is poorly scaled. So you sh .............................. 20 MULTISTART METHODS FOR GLOBAL OPTIMIZATION ............................................................................................... 20 GRG NONLINEAR SOLVING METHOD STOPPING CONDITIONS....................................................................................... 20 Locally Versus Globally Optimal Solutions ...................................................................................................................... 21 When Solver has Converged to the Current Solution ................................................................................................. 21 When Solver Cannot Improve the Current Solution ................................................................................................... 21 LIMITATIONS ON NON-SMOOTH OPTIMIZATION ........................................................................................................... 21 EVOLUTIONARY SOLVING METHOD STOPPING CONDITIONS ........................................................................................ 22 “Good” Versus Optimal Solutions ............................................................................................................................... 22 When Solver Cannot Improve the Current Solution ................................................................................................... 22 Evaluating a Solution Found by the Evolutionary Solving Method ............................................................................. 22 CREATE SOLVER REPORTS ............................................................................................................................................... 23 Reports available when Solver finds a solution .......................................................................................................... 23 Reports available when Solver encounters a problem ............................................................................................... 23 INTERPRETING THE ANSWER REPORT ........................................................................................................................ 24 INTERPRETING THE SENSITIVITY REPORT ................................................................................................................... 24 Interpreting Dual Values ............................................................................................................................................. 24 Interpreting Range Information .................................................................................................................................. 25 INTERPRETING THE LIMITS REPORT ................................................................................................................................ 25 INTERPRETING THE POPULATION REPORT ..................................................................................................................... 25 UNDERSTANDING THE FEASIBILITY REPORT ................................................................................................................... 25 UNDERSTANDING THE LINEARITY REPORT ..................................................................................................................... 26 SAMPLE WORKSHEETS .................................................................................................................................................... 26 WHAT SOLVER CAN AND CANNOT DO ............................................................................................................................ 27 To summarize: ............................................................................................................................................................. 27 OPTIMIZATION METHODS .............................................................................................................................................. 28 LINEAR PROGRAMMING ............................................................................................................................................. 28 NONLINEAR OPTIMIZATION ........................................................................................................................................ 29 GLOBAL OPTIMIZATION .............................................................................................................................................. 29 NON-SMOOTH OPTIMIZATION ................................................................................................................................... 29 Genetic and Evolutionary Algorithms ..................................................................................................................... 30 INTEGER PROGRAMMING ............................................................................................................................................... 30 The Branch & Bound Method ..................................................................................................................................... 30 SOLUTIONS: FEASIBLE, "GOOD" AND OPTIMAL .............................................................................................................. 31 FUNCTIONS OF THE VARIABLES .................................................................................................................................. 31 CONVEX FUNCTIONS ................................................................................................................................................... 32 LINEAR FUNCTIONS ..................................................................................................................................................... 33 SMOOTH NONLINEAR FUNCTIONS ............................................................................................................................. 34 Convex, Concave and Non-Convex Smooth Functions ........................................................................................... 34 DISCONTINUOUS AND NON-SMOOTH FUNCTIONS .................................................................................................... 34 ALGORITHMS AND METHODS USED ............................................................................................................................... 35 Introduction This web eBook1 provides Help for the basic Solver included with Excel 2010, Excel 2013 and Excel 2016 for Windows and Excel 2011 for Mac, and for the Solver add-in available for Excel Online inOffice 365, SharePoint and Excel on iPad. In Excel, Solver is part of a suite of commands sometimes called what-if analysis tools. With Solver, you can find an optimal (maximum or minimum) value for a formula in one cell — called the objective cell — subject to constraints, or limits, on the values of other formula cells on a worksheet. Solver works with a group of cells — called decision variable cells — that participate in computing the formulas in the objective and constraint cells. Solver adjusts the values in the decision variable cells to satisfy the limits on constraint cells and produce the result you want for the objective cell. The objective, constraint and decision variable cells and the formulas interrelating them form a Solver model; the final values found by Solver are a solution for this model. Solver uses a variety of methods, from linear programming and nonlinear optimization to genetic and evolutionary algorithms, to find solutions. OVERVIEW AND EXAMPLE Use Solver to determine the maximum or minimum value of one cell by changing other cells. For example, you can change the amount of your projected advertising budget and see the effect on your projected profit amount. Example of a Solver problem In the following example, the level of advertising in each quarter affects the number of units sold, indirectly determining the amount of sales revenue, the associated expenses, and the profit. Solver can change the quarterly budgets for advertising (cells B11:E11), up to a total budget constraint of $40,000 (cell F11), until the value for the total profit reaches the maximum possible amount. The values in the decision variable cells are used to calculate the profit for each quarter, so the values are related to the formula in the target cell F15, =SUM (B15:E15). ________________________________________ Decision variable cells Constraint cell Objective cell ________________________________________ After Solver runs, the new values are as follows. DEFINE AND SOLVE A PROBLEM 1 http://www.solver.com/excel-solver-help 1. Click the Solver command to display the Solver Parameters dialog. You can resize this dialog by selecting its lower right corner and dragging. If you don't see the Solver command (on the Data tab on Windows, or the Tools menu on Macintosh), you need to load the Solver Add-in. In the Excel Web App, the Solver Parameters dialog should be visible on the worksheet. If you don't see it, you need to insert the Solver App. 2. In the Set Objective box, enter a cell reference or name for the objective cell. The objective cell must contain a formula. Do one of the following: • If you want the value of the objective cell to be as large as possible, click Max. • If you want the value of the objective cell to be as small as possible, click Min. • If you want the objective cell to be a certain value, click Value Of, and then type the value in the box. You may leave the Set Objective box empty. In this case Solver finds values for the decision variables that satisfy the constraints. Using the Value Of option has the same effect as defining a constraint (see below) where the objective cell must be equal to the specified value. 3. In the By Changing Variable Cells box, enter a name or reference for each decision variable cell. Separate the nonadjacent references with commas. To have an effect, the variable cells must be related directly or indirectly to the objective cell, or to the cell reference in at least one constraint. You can specify up to 200 variable cells. 4. In the Subject to the Constraints box, enter any constraints that you want to apply. Add, change or delete a constraint. 5. Select the Make Unconstrained Variables Non-Negative check box to specify that all decision variable cells without explicit lower bounds should be given lower bounds of zero. If you define a >= constraint that specifies a lower bound different from zero for certain decision variable cells, it will take precedence over this option for those cells. 6. Click Solve and in the Solver Results dialog box, read the message at the top and the more detailed explanation at the bottom of this dialog. After reading these messages, do one of the following: • To keep the final values in the decision variable cells, click Keep Solver Solution. • To restore the values of the decision variable cells at the time you clicked Solve, click Restore Original Values. Select the Return to Solver Parameters Dialog check box if you want to modify the Solver model or re-solve as your next step. Click OK or Cancel. • If you click OK, Solver re-displays the Solver Parameters dialog if you selected the above check box; otherwise it returns to Excel worksheet mode. • If you click Cancel, other selections in the Solver Results dialog box (such as Keep Solver Solution and any selected reports) are ignored; the original values of the decision variable cells are restored, and Solver returns to Excel worksheet mode. Understanding Solver Results messages NOTES • You can interrupt the solution process by pressing ESC. Microsoft Office Excel recalculates the worksheet with the last values that are found for the decision variable cells, and displays the Show Trial Solution dialog. • To create a report that is based on your solution after Solver finishes, you can click a report type in the Reports box and then click OK. The report is created on a new worksheet in your workbook. If Solver doesn't find a solution, either certain diagnostic reports or no reports are available. • To save your decision variable cell values as a scenario that you can display later, click Save Scenario in the Solver Results dialog box, and then type a name for the scenario in the Scenario Name box. HOW TO LOAD OR START SOLVER In Excel for Windows, if you don't see the Solver command or the Analysis group on the Data tab, you need to load the Solver add-in. http://www.solver.com/basic-solver-how-load-or-start-solver http://www.solver.com/basic-solver-how-load-or-start-solver http://www.solver.com/basic-solver-how-load-or-start-solver http://www.solver.com/content/basic-solver-add-change-or-delete-constraint http://www.solver.com/content/basic-solver-add-change-or-delete-constraint http://www.solver.com/content/basic-solver-understanding-solver-results-messages 1. Click the File tab, click Options, and then click the Add-ins category. 2. In the Manage box, click Excel Add-ins, and then click Go. 3. In the Add-ins available box, select the Solver Add-in check box. If you don't see this name in the list, click the Browse... button and navigate to the folder containing Solver.xlam. Then click OK. 4. Now on the Data tab, in the Analysis group, you should see the Solver command. In Excel for Macintosh, if you don't see the Solver command on the Tools menu, you need to load the Solver add-in. 1. Click the Tools menu, then click the Add-ins command. 2. In the Add-ins available box, select the Solver.xlam check box. If you don't see this name in the list, click the Select... button and navigate to the folder containing Solver.xlam. Then click OK. 3. Now on the Tools menu, you should see the Solver command. In Excel Online for Office 365, Excel Web App for SharePoint, or Excel on iPad, use the Solver add-in. If you don't see the Solver Task Pane in your worksheet, you need to insert the Solver add-in: Follow the steps in Microsoft Office Support on How to get an Office Add-in for Excel. 1. Open the workbook where you want to use Solver. Click the Insert tab, then click the My Add-ins button. 2. If Solver appears in the Recently Used Add-ins dropdown list, select it there, and skip to step 4. 3. Select See All... from the dropdown menu. In the Office Add-ins dialog, find and select Solver underMy Add-ins or My Organization.If this is your first time using the Solver add-in, clickStore, and look in the Data Analytics category. Click to see the Solver add-in listing in the Office Store. 4. The Solver Task Pane should appear. Click File Save As, and save to your Office 365 or SharePoint document library, or OneDrive or OneDrive for Business folder. 5. Now when you open your workbook, the Solver Task Pane should appear automatically. NOTE: Although the Solver add-in can be used in Excel 2013 and Excel 2016, because your model is solved "in the cloud," this Solver add-in works only with Excel workbooks that are stored online. If you want to solve a workbook model that is stored on your local PC, use the Solver included with desktop Excel, or one of Frontline's enhanced Solvers for desktop Excel. ADD, CHANGE OR DELETE A CONSTRAINT 1. In the Solver Parameters dialog box, under Subject to the Constraints, click Add. 2. In the Cell Reference box, enter the cell reference or name of the cell range whose value(s) you want to constrain. You can use a single cell or a cell range, but not multiple ranges. 3. Click the relationship ( <=, =, >=, int, bin, or dif ) that you want between the referenced cell(s) and the constraint. • If you click int, integer appears in the Constraint box. • If you click bin, binary appears in the Constraint box. • If you click dif, alldifferent appears in the Constraint box. 4. In the Constraint box, type a number, a cell reference or name, or a formula. For best performance and best results in Solver reports, use a number, or a reference or name of a cell or cells that contain numbers. Use only the dropdown list to select integer, binary or alldifferent – do not type these words. A constraint such as A1:A3 <= 10 is shorthand for A1 <= 10, A2 <= 10, A3 <= 10. A constraint such as A1:A3 <= B1:B3 is shorthand for A1 <= B1, A2 <= B2, A3 <= B3. 5. Do one of the following: • To accept the constraint and add another, click Add. • To accept the constraint and return to the Solver Parameters dialog box, click OK. 6. NOTES • You can apply the int, bin or dif relationships only in constraints on decision variable cells. http://www.solver.com/solver-app-help-and-support http://office.microsoft.com/en-us/store/office-store-faq-HA102900784.aspx http://office.microsoft.com/en-us/excel-help/get-an-app-for-excel-HA102840206.aspx https://store.office.com/solver-WA104100404.aspx http://www.solver.com/products-overview • When the Simplex LP Solving Method is selected, there is no limit on the number of constraints. When the GRG Nonlinear or Evolutionary Solving Method is selected, there is a limit of 100 constraints, in addition to bounds and int, bin or dif restrictions on the variables. 7. In the Solver Parameters dialog box, under Subject to the Constraints, click the constraint that you want to change or delete. 8. Click Change and then make your changes, or click Delete. HOW RELATIONAL CONSTRAINTS AFFECT SOLVING Relational constraints specify bounds on cells such as A1 >= 0. A constraint is satisfied if the condition it specifies is true within a small tolerance (determined by the Constraint Precision option). This is a little different from a logical formula such as =A1>=0 evaluating to TRUE or FALSE which you might enter in a cell. In this example, if A1 were -0.0000001, the logical formula would evaluate to FALSE, but with the default Solver Constraint Precision setting, the constraint would be satisfied. Because of the numerical methods used to find solutions to Solver models and the finite precision of computer arithmetic, it would be unrealistic to require that constraints like A1 >= 0 be satisfied exactly – such solutions would rarely be found. Constraints such as A1 = 0 are called equality constraints or equations; constraints such as A1 <= 0 are called inequality constraints or simply inequalities. A problem with only equality constraints (and no objective, or a Value Of objective) is sometimes called a system of equations. Solver can be used to find solutions to systems of both linear and nonlinear equations. If there are several different solutions (sets of values for the decision variables) that satisfy the equations, the GRG Nonlinear Solving method seeks a solution that is close to the starting values of the variables. Bounds on the variables Constraints of the form A1 >= -5 or A1 <= 10 (for example), where A1 is a decision variable, are called bounds on the variables and are treated specially by Solver. These constraints affect only one variable, whereas general constraints have an indirect effect on several variables that have been used in a formula such as A1+A2. Each of the Solving methods takes advantage of this fact to handle bounds on the variables more efficiently than general constraints, and speed up the solution process. There is no difference in terms of efficiency between a constraint entered (for example) as A1 <= 100 or as A1 <= B1 where B1 contains 100; Solver recognizes that B1 is equivalent to a constant. The form A1 <= B1 is usually better from the standpoint of maintainability of your Solver model. In many problems, you will be aware of realistic lower and upper bounds on the variables, but they won’t be of any help to Solver unless you include them in the Constraints list box! Bounds on the variables are especially important to the performance of the Evolutionary solving method, and Multistart methods for global optimization with the GRG Nonlinear solving method. HOW INTEGER, BINARY AND ALLDIFFERENT CONSTRAINTS AFFECT SOLVING A constraint such as A1:A5 = integer, where A1:A5 are decision variable cells, requires that the solution values for A1 through A5 must be integers or whole numbers, such as -1, 0 or 2, to within a small tolerance (determined by the Constraint Precision option). Integer constraints may be used when a fractional solution value, such as 1.5, wouldn’t make sense in your problem – for example, if the decision variable represents how many people to schedule or how many trucks to buy. A constraint such as A1 = binary is equivalent to specifying A1 = integer, A1 >= 0 and A1 <= 1. This implies that A1 must be either 0 or 1 at the solution; hence A1 can be used to represent a “yes/no” decision, such as whether or not to build a new manufacturing plant. A constraint such as A1:A5 = alldifferent, where A1:A5 are decision variable cells, requires that these cells must be integers in the range 1 to N (N = 5 in this example), with each variable different from all the others at the solution. Hence, A1:A5 will contain a permutation of integers, such as 1,2,3,4,5 or 1,3,5,2,4. An alldifferent constraint can be used to model problems involving ordering or sequencing of choices, such as the Traveling Salesman Problem. Integer constraints have many important applications, but the presence of even one such constraint in a Solver model makes the problem an integer programming problem, which may be much more difficult to solve than a similar problem without the integer constraint. Options for Solving with Integer Constraints The Solver Options dialog All Methods tab includes a group of options for solving with integer constraints: • The Ignore Integer Constraints check box allows you to solve the “relaxation” of an integer programming problem, where the integer, binary, and all different constraints are ignored, but all other constraints are enforced. • The Integer Optimality (%) option, sometimes called the “MIP gap”, allows Solver to stop if it finds an integer solution that is within the specified percentage of the best known bound on the optimal solution. The default value is 1%; if you want a proven optimal solution (which may take considerable extra time), set this option to 0. EXCEL SOLVER - PAUSE OR STOP SOLVER If you press ESC while Solver is solving, the Show Trial Solution dialog box appears. Do one of the following: • Click Stop to stop the solution process. The Solver Results dialog appearswith a message that Solver stopped at your request. • Click Continue to allow Solver to continue solving until you press ESC again, a Solving Limit is reached, or a solution is found. If Solver reaches one of the Solving Limits (Max Time, Iterations, Max Subproblems or Max Feasible Solutions) while solving a problem, the Show Trial Solution dialog box appears. Do one of the following: • Click Stop to stop the solution process. The Solver Results dialog appears with a message that the limit was reached. • Click Continue to allow Solver to continue solving without the limit mentioned in the dialog box message. If another limit is reached, the Show Trial Solution dialog box will re-appear, once for each limit. NOTES To set the Solving Limits, see Change Options for All Solving Methods. To make Solver pause on every Trial Solution, see Show Solver trial solutions. SHOW SOLVER TRIAL SOLUTIONS 1. After you define a problem, click Options in the Solver Parameters dialog box. 2. In the Solver Options dialog box, on the All Methods tab, select the Show Iteration Results check box to see the values of each trial solution, and then click OK. http://www.solver.com/content/basic-solver-change-options-all-solving-methods http://www.solver.com/content/basic-solver-show-solver-trial-solutions 3. In the Solver Parameters dialog box, click Solve. 4. In the Show Trial Solution dialog box, do one of the following: • To stop the solution process and display the Solver Results dialog box, click Stop. • To continue the solution process and display the next trial solution, click Continue. NOTES • The Show Trial Solution dialog box also appears (only once, not on each Trial Solution) if you press ESC, or if Solver reaches one of the Solving Limits (Max Time, Iterations, Max Subproblems or Max Feasible Solutions) while solving a problem. CHANGE SOLVER OPTIONS To change Solver options that can affect the nature and accuracy of the solution, or the time Solver will spend seeking a solution, click Options in the Solver Parameters dialog. To clear all cell selections and reset all Solver options to their default values, click Reset All. CHANGE OPTIONS FOR ALL SOLVING METHODS 1. In the Solver Parameters dialog box, click Options. 2. In the Solver Options dialog box, on the All Methods tab, choose one or more of the following options: Constraint precision • In the Constraint Precision box, type the degree of precision that you want. For a constraint to be considered satisfied, the relationship between the Cell Reference and the Constraint value cannot be violated by more than this amount. The smaller the number, the higher the precision Use Automatic Scaling • Select the Use Automatic Scaling check box to specify that Solver should internally rescale the values of variables, constraints and the objective to similar magnitudes, to reduce the impact of extremely large or small values on the accuracy of the solution process. This box is selected by default. Show Iteration Results • Select the Show Iteration Results check box to see the values of each trial solution. See Show Solver trial solutions. Solving with Integer Constraints • Select the Ignore Integer Constraints check box to cause all integer, binary and alldifferent constraints to be ignored when you next click Solve. This is called solving the relaxation of the integer programming problem. • In the Integer Optimality % box, type the maximum percentage difference Solver should accept between the objective value of the best integer solution found and the best known bound on the true optimal objective value before stopping. NOTES The Integer Optimality % is sometimes called the (relative) “MIP gap”. The default value is 1%; set this to 0% to ensure that a proven optimal solution is found. http://www.solver.com/content/basic-solver-show-solver-trial-solutions http://www.solver.com/content/basic-solver-show-solver-trial-solutions Solving Limits 1. In the Max Time (Seconds) box, type the number of seconds that you want to allow Solver to run. 2. In the Iterations box, type the maximum number of iterations that you want to allow Solver to perform. The following limits apply only to problems that include integer restrictions on variables, or problems that use the Evolutionary Solving Method: 1. In the Max Subproblems box, type the maximum number of subproblems that you want to allow. 2. In the Max Feasible Solutions box, type the maximum number of feasible solutions that you want to allow. For problems with integer restrictions, this is the maximum number of integer feasible solutions. NOTES If the solution process reaches the maximum time, number of iterations, maximum subproblems, or maximum feasible solutions before Solver finds an optimal solution, Solver displays the Show Trial Solution dialog box. See Show Solver trial solutions. 1. Click OK. 2. In the Solver Parameters dialog box, click Solve or Close. NOTE You can click the Help button in the dialog box to get more information about other options. CHANGE OPTIONS FOR GRG NONLINEAR SOLVING METHOD 1. In the Solver Parameters dialog box, click Options. 2. In the Solver Options dialog box, on the GRG Nonlinear tab, choose one or more of the following options: Convergence • In the Convergence box, type the amount of relative change that you want to allow in the last five iterations before Solver stops with the message “Solver converged to the current solution.” Smaller values here usually mean that Solver will take more time, but will stop at a point closer to the optimal solution. Derivatives • In the Derivatives group box, select Forward to estimate derivatives through forward differencing, or select Central to estimate derivatives through central differencing. Forward is the default choice. Central differencing yields more accurate derivatives, but requires twice as many calculations of the worksheet at each new trial solution. MultiStart Options for Global Optimization • Select the Use Multistart check box to use the multistart method for global optimization. If this box is selected when you click Solve, the GRG Nonlinear method will be run repeatedly, starting from different (automatically chosen) starting values for the decision variables. This process may find a better solution, but it will take more computing time than a single run of the GRG Nonlinear method. • In the Population Size box, type the number of different starting points (values for the decision variables) you want the multistart method to consider. The minimum population size is 10; if you supply a value less than 10 in this box, or leave it blank, the multistart method uses a population size of 10 times the number of decision variables, but no more than 200. • In the Random Seed box, type a positive integer number to be used as the (fixed) seed for the random number generator used to generate candidate starting points for the GRG Nonlinear method. http://www.solver.com/content/basic-solver-show-solver-trial-solutions If you enter a number here, the multistart method will use the same starting points each time you click Solve. If you leave this box blank, the random number generator will use a different seed each time you click Solve, which may yield a different (better or worse) final solution. • Select the Require Bounds on Variables check box to specify that the multistart method should run only if you have defined lower and upper bounds on all decision variables in the Constraints list box. The multistart method is far more effective if you define bounds on all variables; the tighter the bounds on the variables that you can specify, the better the multistart method is likely to perform. NOTE You can click the Help button in the dialog box to get more information about other options. CHANGE OPTIONS FOR EVOLUTIONARY SOLVING METHOD NOTE You can click the Help button in the dialog box to getmore information about other options. 1. In the Solver Parameters dialog box, click Options. 2. In the Solver Options dialog box, on the Evolutionary tab, choose one or more of the following options: Convergence • In the Convergence box, type the maximum percentage difference in objective values for the top 99% of the population that Solver should allow in order to stop with the message “Solver converged to the current solution.” Smaller values here normally mean that Solver will take more time, but will stop at a point closer to the optimal solution. Mutation Rate • In the Mutation Rate box, type a number between 0 and 1, the relative frequency with which some member of the population will be altered or “mutated” to create a new trial solution, during each “generation” or subproblem considered by the Evolutionary method. A higher Mutation Rate increases the diversity of the population and the chance that a new, better solution will be found; but this may increase total solution time. Population Size • In the Population Size box, type the number of different points (values for the decision variables) you want the Evolutionary method to maintain at any given time in its population of candidate solutions. The minimum population size is 10 members; if you supply a value less than 10 in this box, or leave it blank, the Evolutionary Solver uses a population size of 10 times the number of decision variables in the problem, but no more than 200. Random Seed • In the Random Seed box, type a positive integer number to be used as the (fixed) seed for the random number generator used for a variety of random choices in the Evolutionary method. If you enter a number here, the Evolutionary method will use the same choices each time you click Solve. If you leave this box blank, the random number generator will use a different seed each time you click Solve, which may yield a different (better or worse) final solution. Maximum Time without Improvement • In the Maximum Time without Improvement box, type the maximum number of seconds you want the Evolutionary method to continue without a meaningful improvement in the objective value of the best solution in the population, before it stops with the message “Solver cannot improve the current solution. Require Bounds on Variables • Select the Require Bounds on Variables check box to specify that the Evolutionary method should run only if you have defined lower and upper bounds on all decision variables in the Constraints list box. The Evolutionary method is far more effective if you define bounds on all variables; the tighter the bounds on the variables that you can specify, the better the Evolutionary method is likely to perform. NOTE You can click the Help button in the dialog box to get more information about other options. REAPPLY THE DEFAULT SOLVER SETTINGS 1. In the Solver Parameters dialog box, click Reset All. 2. In the confirmation dialog, click OK. The By Changing Variable Cells box and the Constraints list box are cleared, the Set Objective box is set to the active cell, and all Solver options are reset to their default settings. SAVE OR LOAD A SOLVER MODEL 1. In the Solver Parameters dialog box, click Load/Save. 2. When you save a model, enter the reference for the first cell of a vertical range of empty cells in which you want to save the model specifications. When you load a model, enter the reference for the entire range of cells that contains the model specifications. 3. Click Save or Load. TIPS One set of model specifications — the most recent selections in the Solver Parameters and Solver Options — is maintained for each worksheet in your workbook. When you click the File tab and then click Save, the model selections for each worksheet where a Solver model was defined are saved automatically with the workbook. You can use the Load/Save button to define and save more than one set of Solver model specifications on a single worksheet, and load the model specifications you want at any time. UNDERSTANDING SOLVER RESULTS MESSAGES If Solver stops with a solution (set of values for the decision variables) that is different from what you expect, or what you believe is correct, please follow the suggestions below. You can usually narrow down the problem to one of a few possibilities. • Be sure to read the message in the Solver Results dialog, and check the explanation of the message in this Help topic. • Consider the possibility that the solution found by Solver is correct, and that your expectation is wrong. This may mean that what your model actually says is different from what you intended. • If you receive the message “Solver could not find a feasible solution,” read the topic Understanding the Feasibility Report. • If you receive the message “The linearity conditions required by this LP Solver are not satisfied,” read the topic Understanding the Linearity Report. • If your model includes integer, binary or all different constraints, read the topic Integer Constraints and the Integer Optimality Tolerance. • Select the check box to Show trial solutions in the Solver Options dialog and re-solve. Solver will pause with the message “Solver paused, current solution values displayed on worksheet.” Click Continue to see the path towards the solution taken by Solver. • Read the topic Problems with Poorly Scaled Models. This is one of the most common causes of unexpected error messages, suboptimal solutions. • Read the topics on Limitations on Smooth Nonlinear Optimization, affecting the GRG Solving method, and Limitations on Non-Smooth Optimization, affecting the Evolutionary Solving method. Depending on the message, the solution values in the decision variable cells may be a globally optimal solution, a locally optimal solution, only an approximate solution, or no solution (for example if no feasible solution exists). SOLVER RESULT MESSAGES These messages appear in the Solver Results dialog when the Solver stops running. The best solution values for the decision variables are placed in the adjustable (changing) cells, and the worksheet is recalculated. In the Solver Results dialog, you have the option to keep these solution values, or restore the original values of the adjustable cells. (Clicking on Cancel or pressing ESC restores the original values without choosing any other options.) You can also create a named scenario which captures the values of the adjustable cells, and view it later with the Scenario Manager. Finally, you can ask the Solver to produce one or more reports as shown in the Reports list box. Unlike the other groups of Solver messages, this group is ordered by the result codes which can be returned when you invoke the Solver in a macro or custom program in VBA with the SolverSolve function. Each numeric result code is shown in parentheses following the message. Some of these messages have a slightly different interpretations, depending on whether you have selected the Assume Linear Model check box, and whether there are any integer constraints in your model. See the detailed explanations of each message, particularly the first one, "Solver found a solution." SOLVER FOUND A SOLUTION. ALL CONSTRAINTS AND OPTIMALITY CONDITIONS ARE SATISFIED (0). This means that Solver has found the optimal or “best” solution under the circumstances. The exact meaning depends on whether you are solving a linear, smooth nonlinear, or integer programming problem, as outlined below. This message doesn’t appear for the Evolutionary Solving method. If you are solving a linear programming problem, the Simplex LP Solving method has found the globally optimal solution: There is no other solution satisfying the constraints that has a better value for the objective. It is possible that there are other solutions with the same objective value, but all such solutions are linear combinations of the current decision variablevalues. If you are solving a smooth nonlinear optimization problem with no integer constraints, the GRG Nonlinear Solving method has found a locally optimal solution: There is no other set of values for the decision variables close to the current values and satisfying the constraints that yields a better value for the objective. In general, there may be other sets of values for the variables, far away from the current values, which yield better values for the objective and still satisfy the constraints. If you are solving a mixed-integer programming problem (any problem with integer constraints), this message means that the Branch & Bound method has found a solution satisfying the constraints (including the integer constraints) with the “best possible” objective value. If the problem is linear and the Simplex LP Solving method is being used, the true integer optimal solution has been found. If the problem is smooth nonlinear, the Branch http://solver.com/suppstdmsgresult2.htm & Bound process has found the best of the locally optimal solutions found for subproblems by the GRG Nonlinear Solving method. EXCEL SOLVER - SOLVER HAS CONVERGED TO THE CURRENT SOLUTION. ALL CONSTRAINTS ARE SATISFIED (1). This means that Solver has found a series of “best” solutions that satisfy the constraints, and that have very similar objective function values; however, no single solution strictly satisfies Solver’s test for optimality. The exact meaning depends on whether you are solving a smooth nonlinear problem with the GRG Nonlinear Solving method, or a non-smooth problem with the Evolutionary method. This message doesn’t appear for the Simplex LP Solving method. When the GRG method is being used, this message means that the objective function value is changing very slowly as Solver progresses from point to point. More precisely, Solver stops if the absolute value of the relative change in the objective function, in the last few iterations, is less than the Convergence tolerance in the Solver Options dialog. A poorly scaled model is more likely to trigger this stopping condition, even if the Use Automatic Scaling check box in the Solver Options dialog is selected. If you are sure that your model is well scaled, you should consider why it is that the objective function is changing so slowly. For more information, see the discussion of GRG Nonlinear Solving Method Stopping Conditions. When the Evolutionary Solving method is being used, this message means that the “fitness” of members of the current population of candidate solutions is changing very slowly. More precisely, the Evolutionary Solver stops if 99% or more of the members of the population have fitness values whose relative difference is less than the Convergence tolerance in the Solver Options dialog. The fitness values incorporate both the objective function and a penalty for infeasibility, but since Solver has found some feasible solutions, this test is heavily weighted towards the objective function values. If you believe that Solver is stopping prematurely when this test is satisfied, you can make the Convergence tolerance smaller, but you may also want to increase the Mutation Rate and/or the Population Size, in order to increase the diversity of the population of trial solutions. For more information, see the discussion of Evolutionary Solving Method Stopping Conditions. EXCEL SOLVER - SOLVER CANNOT IMPROVE THE CURRENT SOLUTION. ALL CONSTRAINTS ARE SATISFIED (2). This means that Solver has found solutions that satisfy the constraints, but it has been unable to further improve the objective, even though the tests for optimality (“Solver found a solution”) and convergence (“Solver converged to the current solution”) have not yet been satisfied. The exact meaning depends on whether you are solving a smooth nonlinear problem with the GRG Nonlinear Solving method, or a non-smooth problem with the Evolutionary Solving method. When the GRG Nonlinear Solving method is being used, this message occurs very rarely. It means that the model is degenerate and Solver is probably cycling. One possibility worth checking is that some of your constraints are redundant, and should be removed. For more information, see the discussion of GRG Nonlinear Solving Method Stopping Conditions. When the Evolutionary Solving method is being used, this message is much more common. It means that Solver has been unable to find a new, better member of the population whose “fitness” represents a significant relative improvement over the current best member’s fitness, in the amount of time specified by the Maximum Time without Improvement option in the Solver Options dialog. Since the Evolutionary Solving method has no way of testing for optimality, it will normally stop with either “Solver converged to the current solution” or “Solver cannot improve the current solution” if you let it run for long enough. If you believe that this message is appearing prematurely, you can increase the amount of time allowed by the Maximum Time without Improvement option. For more information, see the discussion of Evolutionary Solving Method Stopping Conditions. EXCEL SOLVER - STOP CHOSEN WHEN THE MAXIMUM ITERATION LIMIT WAS REACHED (3). This message appears when (i) Solver has completed the maximum number of iterations, or trial solutions, allowed in the Iterations box in the Solver Options dialog and (ii) you clicked the Stop button when Solver displayed the Show Trial Solution dialog. You may increase the value in the Iterations box, or click the Continue button instead of the Stop button in the Show Trial Solution dialog. But you should also consider whether re- scaling your model or adding constraints might reduce the total number of iterations required. If you are solving a mixed-integer programming problem (any problem with integer constraints), this message is relatively unlikely to appear. Solver uses the Maximum Subproblems and Maximum Feasible Solutions options to control the overall solution process; the count of iterations against which the Iteration limit is compared is reset on each new subproblem, so this limit usually is not reached. EXCEL SOLVER - THE OBJECTIVE CELL VALUES DO NOT CONVERGE (4). This message appears when Solver is able to increase (if you are trying to Maximize) or decrease (for Minimize) without limit the value in the Objective cell, while still satisfying the constraints. Remember that, if you’ve selected Minimize, the objective may take on negative values without limit unless this is prevented by the constraints or bounds on the variables. Select the Make Unconstrained Variables Non-Negative check box to ensure that all decision variables without explicit lower bounds cannot take on negative values. If the objective is a linear function of the decision variables, it can always be increased or decreased without limit (picture it as a straight line), so Solver will seek the extreme value that still satisfies the constraints. If the objective is a nonlinear function of the variables, it may have a “natural” maximum or minimum (for example, =A1*A1 has a minimum at zero), or no such limit (for example, =LOG(A1) increases without limit). If you receive this message, you may have forgotten a constraint, or failed to anticipate values for the variables that allow the objective to increase or decrease without limit. The final values for the variable cells, the constraint left hand sides and the objective should provide a strong clue about what happened. The Evolutionary Solving method never displays this message, because it has no way of systematically increasing (or decreasing) the objective function, which may be non-smooth. If you have forgotten a constraint, the Evolutionary method may find solutions with very large (or small) values for the objective – thereby making you aware of the omission – but this is not guaranteed. See more examples in Solver sample worksheets2.To download more advanced examples, register or login, and visit our Examples3 main page. You can use Solver to find better ways to allocate scarce resources, maximize profits or minimize costs or risks, in a wide range of applications in finance and investment, marketing, manufacturing and production, distribution and logistics, purchasing, and human resources, as well as science and engineering. SOLVER COULD NOT FIND A FEASIBLE SOLUTION (5). This message appears when Solver could not find any combination of values for the decision variables that allows all of the constraints to be satisfied simultaneously. If you are using the Simplex LP Solving method, and the model is well scaled, Solver has determined for certain that there is no feasible solution. If you are using the GRG Nonlinear Solving method, this method (which always starts from the initial values of the variables) was unable to find a feasible solution; but there could be a feasible solution far away from these initial values, which Solver might find if you run it with different initial values for the variables. If you are using the Evolutionary Solving method, the evolutionary algorithm was unable to find a feasible solution; it might succeed in finding one if you run it with different initial values for the variables and/or increase the Precision value in the Solver Options dialog (which reduces the infeasibility penalty, thereby allowing the evolutionary algorithm to explore more “nearly feasible” points). 2 http://www.solver.com/excel-solver-sample-worksheets 3 http://www.solver.com/examples-optimization-problems http://www.solver.com/content/basic-solver-sample-worksheets http://www.solver.com/examples-optimization-problems http://www.solver.com/excel-solver-sample-worksheets http://www.solver.com/examples-optimization-problems In any case, you should first look for conflicting constraints, i.e. conditions that cannot be satisfied simultaneously. Most often this is due to choosing the wrong relation (e.g. <= instead of >=) on an otherwise appropriate constraint. The easiest way to do this is to select the Feasibility Report, shown in the Reports list box when this message appears. SOLVER STOPPED AT USER’S REQUEST (6). This message appears only if you press ESC to display the Show Trial Solution dialog, and then click the Stop button. When you do this, no reports are available in the Solver Results dialog. THE LINEARITY CONDITIONS REQUIRED BY THIS LP SOLVER ARE NOT SATISFIED (7). This message appears if you’ve selected the Simplex LP Solving method, but Solver’s numeric tests to ensure that the objective and constraints are indeed linear functions of the decision variables were not satisfied. If you receive this message, select and examine the Linearity Report to determine which functions or variables in your model are not linear, then examine the formulas for the objective and constraints for nonlinear or non- smooth functions or operators applied to the decision variables. For more information, see Functions of the Variables. THE PROBLEM IS TOO LARGE FOR SOLVER TO HANDLE (8). This message appears when Solver determines that your model is too large for the Solving method you have selected. All Solving methods are limited to 200 decision variables; the GRG Nonlinear and Evolutionary Solving methods are also limited to 100 constraints in addition to lower and upper bounds on the variables. For more information, see Algorithms and methods used by Solver. SOLVER ENCOUNTERED AN ERROR VALUE IN THE OBJECTIVE CELL OR A CONSTRAINT CELL (9). This message appears when Solver recalculates your worksheet using a new set of values for the decision variable cells, and discovers an error value such as #VALUE!, #NUM!, #DIV/0! or #NAME? in the objective cell or one of the constraint cells. Inspecting the worksheet for error values like these will usually indicate the source of the problem. If you’ve entered formulas for the right-hand sides of certain constraints, the error might have occurred in one of these formulas rather than in a cell on the worksheet. For this and other reasons, it’s better to use only constant numbers and cells containing constant numbers on the right-hand sides of constraints. If you see #VALUE!, #N/A or #NAME?, look for names or cell references to rows or columns that you have deleted. If you see #NUM! or #DIV/0!, look for unanticipated values of the decision variables which lead to arguments outside the domains of your functions – such as a negative value supplied to SQRT. You can often add constraints to avoid such domain errors; if you have trouble with a constraint such as $A$1 >= 0, try a constraint such as $A$1 >= 0.0001 instead. The Evolutionary Solving method rarely, if ever, displays this message – since it maintains a population of candidate solutions and can always generate more candidates, it can simply discard trial solutions that result in error values. If you have a model that frequently yields error values for trial solutions generated by the GRG Nonlinear method, and you are unable to correct or avoid these error values by altering your formulas or by imposing additional constraints, you can still use the Evolutionary Solving method to find (or make progress towards) a “good” solution STOP CHOSEN WHEN THE MAXIMUM TIME LIMIT WAS REACHED (10). This message appears when (i) Solver has run for the maximum time (number of seconds) allowed in the Maximum Time box in the Solver Options dialog and (ii) you clicked the Stop button when Solver displayed the Show Trial Solution dialog. You may increase the value in the Maximum Time box (or leave it empty, which means no limit), or click the Continue button instead of the Stop button in the Show Trial Solution dialog. But you should also consider whether re-scaling your model or adding constraints might reduce the total solution time required. THERE IS NOT ENOUGH MEMORY AVAILABLE TO SOLVE THE PROBLEM (11). This message will appear if Solver cannot allocate the memory it needs to solve the problem; it is very unlikely to appear on modern PCs. Also, since Microsoft Windows supports a “virtual memory” much larger than your available RAM by swapping data to your hard disk, before you see this message you are likely to notice that solution times have greatly slowed down. EXCEL SOLVER -ERROR IN MODEL. PLEASE VERIFY THAT ALL CELLS AND CONSTRAINTS ARE VALID (13). This message means that the internal “model” (information about the variable cells, objective, constraints, Solver options, etc.) is not in a valid form. An “empty” or incomplete Solver model, or a corrupted Excel workbook can cause this message to appear. You might also receive this message if you are using the wrong version of the Solver files, or if you’ve modified the values of certain hidden defined names used by Solver. To guard against this last possibility, you should avoid using any defined names beginning with “solver” in your own application. NEW MESSAGES IN EXCEL 2010 AND EXCEL 2011 The following Solver Result messages were added in the improved Solver included in Excel 2010 for Windows, and Excel 2011 for Macintosh. These Solver Result messages can also appear in Frontline's Premium Solver, Premium Solver Platform, and Risk Solver Platform products. SOLVER FOUND AN INTEGER SOLUTION WITHIN TOLERANCE. ALL CONSTRAINTS ARE SATISFIED (14). If you are solving a mixed-integer programming problem (any problem with integer constraints) with a non-zero value for the Integer Optimality % option in the Solver Options dialog, Solver has found a solution satisfying the constraints (including the integer constraints) where the relative difference of this solution’s objective value from the true optimal objective value does not exceed the Integer Optimality tolerance. The solution on the worksheet may actually be the true integer optimal solution;however, Solver did not take the extra time to search all possible remaining subproblems to “prove optimality” for this solution. If all subproblems were explored (which can happen even with a non-zero Integer Optimality setting in some models), Solver will produce the message “Solver found a solution. All constraints are satisfied.” STOP CHOSEN WHEN THE MAXIMUM NUMBER OF [INTEGER OR FEASIBLE] SOLUTIONS WAS REACHED (15). If you are using the Evolutionary Solving method, this message appears when (i) Solver has found the number of feasible solutions allowed by the Maximum Feasible Solutions option in the Solver Options dialog and (ii) you clicked the Stop button when Solver displayed the Show Trial Solution dialog. You may increase the value of the Maximum Feasible Solutions option, or click the Continue button to continue the solution process. If you are using the Simplex LP or GRG Nonlinear Solving method on a problem with integer constraints, this message appears when (i) Solver has found the number of integer feasible solutions allowed by the Maximum Feasible Solutions option and (ii) you clicked the Stop button when Solver displayed the Show Trial Solution dialog. Again you may increase the value of the Maximum Feasible Solutions option, or click the Continue button to continue the solution process. But you should also consider whether the problem is formulated correctly, and whether you can add constraints to “tighten” the formulation. STOP CHOSEN WHEN THE MAXIMUM NUMBER OF [INTEGER] SUBPROBLEMS WAS REACHED (16). If you are using the Evolutionary Solving method, this message appears when (i) Solver has explored the number of subproblems allowed by the Maximum Subproblems option in the Solver Options dialog and (ii) you clicked the Stop button when Solver displayed the Show Trial Solution dialog. You may increase the value of the Maximum Subproblems option, or click the Continue button to continue the solution process. If you are using the Simplex LP or GRG Nonlinear Solving method on a problem with integer constraints, this message appears when (i) Solver has explored the maximum number of subproblems (each one is a “regular” Solver problem with additional bounds on the variables) allowed by the Maximum Subproblems option and (ii) you clicked the Stop button when Solver displayed the Show Trial Solution dialog. Again you may increase the value of the Maximum Subproblems option, or click the Continue button to continue the solution process. But you should also consider whether the problem is formulated correctly, and whether you can add constraints to “tighten” the formulation. SOLVER CONVERGED IN PROBABILITY TO A GLOBAL SOLUTION (17). If you are using the GRG Nonlinear Solving method and you’ve selected the Use Multistart check box in the Solver Options dialog, this message appears when the multistart method’s Bayesian test has determined that all of the locally optimal solutions have probably been found; the solution displayed on the worksheet is the best of these locally optimal solutions, and is probably the globally optimal solution to the problem. For more information, see the topic Global Optimization. The Bayesian test initially assumes that the number of locally optimal solutions to be found is equally likely to be 1, 2, 3, … etc. up to infinity, and that the relative sizes of the regions containing each locally optimal solution follow a uniform distribution. After each run of the GRG Solving method, an updated estimate of the most probable total number of locally optimal solutions is computed, based on the number of subproblems solved and the number of locally optimal solutions found so far. When the number of locally optimal solutions actually found so far is within one unit of the most probable total number of locally optimal solutions, the multistart method stops and displays this message. ALL VARIABLES MUST HAVE BOTH UPPER AND LOWER BOUNDS (18). If you are using the Evolutionary Solving method or the multistart methods for global optimization, and you have checked the Require Bounds on Variables check box in the Solver Options dialog (it is checked by default), this message appears if you have not defined lower and upper bounds on all of the decision variables in the problem. You should add the missing bounds and try again. Upper bounds must be added as constraints in the Solver Parameters dialog. Lower bounds of zero can be applied to all variables by selecting the Make Unconstrained Variables Non-Negative check box in the Solver Parameters dialog; non-zero lower bounds must be added as constraints, like upper bounds. Bounds on all the variables are not absolutely required (you can uncheck the box Require Bounds on Variables), but they are a practical necessity if you want Solver to find good solutions in a reasonable amount of time. VARIABLE BOUNDS CONFLICT IN BINARY OR ALLDIFFERENT CONSTRAINT (19). This message appears if you have both a binary or all different constraint on a decision variable and a <= or >= constraint on the same variable (that is inconsistent with the binary or all different specification), or if the same decision variable appears in more than one all different constraint. Binary integer variables always have a lower bound of 0 and an upper bound of 1; variables in an all different group always have a lower bound of 1 and an upper bound of N, where N is the number of variables in the group. You should check that the binary or alldifferent constraint is correct, and ensure that all different constraints apply to non-overlapping groups of variables. If a <= or >= constraint causes the conflict, remove it if possible and try to solve again. LOWER AND UPPER BOUNDS ON VARIABLES ALLOW NO FEASIBLE SOLUTION (20). This message appears if you’ve defined lower and upper bounds on a decision variable, where the lower bound is greater than the upper bound. This (obviously) means there can be no feasible solution, but (depending on the Solving method) Solver will detect this condition before even starting the solution process, and display this message instead of “Solver could not find a feasible solution” to help you more quickly identify the source of the problem. If you have defined your bounds and other constraints in uniform blocks, the lower and upper bounds on a given range of cells will appear consecutively in the Solver Parameters dialog outlined list (where they are grouped and sorted), making it easy to spot the inconsistent bounds. PROBLEMS WITH POORLY SCALED MODELS A poorly scaled model is one that computes values of the objective, constraints, or intermediate results that differ by several orders of magnitude. A classic example is a financial model that computes a currency amount in millions or billions and a return or risk measure in fractions of a percent. Because of the finite precision of computer arithmetic, when these values of very different magnitudes (or others derived from them) are added, subtracted, or compared – in the user’s model or in Solver’s own calculations – the result will be accurate to only a few significant digits. After many such steps, Solver may detect or suffer from “numerical instability.” The effects of poor scaling in a large, complex optimization model can be among the most difficult problems to identify and resolve. It can cause Solver to return messages such as “Solver could not find a feasible solution,” “Solver could not improve the current solution,” or even “The linearity conditions required by this LP Solver are not satisfied,” with results that are suboptimal or otherwise very different from your expectations. The effects may not be apparent to you, given the initial values of the variables, but when Solver explores Trial Solutions with very large or small values for the variables, the effects will be greatly magnified. Dealing with Poor Scaling The Solver Options dialog includes a Use Automatic Scaling check box.When this box is selected (it is selected by default), Solver rescales the values of the objective and constraint functions internally in order to minimize the effects of poor scaling. But this can only help with Solver’s own calculations – it cannot help with poorly scaled results that arise in the middle of your Excel formulas. Further, in some poorly scaled models, automatic scaling can make things worse rather than better – so you may wish to try clearing this check box and re-solving. The best way to avoid scaling problems is to carefully choose the “units” implicitly used in your model so that all computed results are within a few orders of magnitude of each other. For example, instead of expressing currency amounts in single units, you could express them in units of (say) millions, if appropriate for your model, so the actual numbers computed on your worksheet may range from perhaps 1 to 1,000. INTEGER CONSTRAINTS AND THE INTEGER OPTIMALITY TOLERANCE Users who solve problems with integer constraints occasionally report that “Solver claims it found an optimal solution, but I manually found an even better solution.” Solver now stops with the message “Solver found an integer solution within tolerance” instead of simply “Solver found a solution,” to highlight the fact that it found a solution within the range of the true integer optimal solution allowed by the Integer Optimality % tolerance in the Solver Options dialog. Since the default setting of the Tolerance option is 1%, Solver will stop when it has found a solution satisfying the integer constraints whose objective is within 1% of the true integer optimal solution. Therefore, you may know of or be able to discover an integer solution that is better than the one found by Solver. The reason that the default Integer Optimality % tolerance option is 1% is that the solution process for integer problems – which can take a great deal of time in any case – often finds a near-optimal solution (sometimes the optimal solution) relatively quickly, and then spends far more time exhaustively checking other possibilities to find (or verify that it has found) the very best integer solution. The Integer Optimality % default setting is a compromise value that often saves a great deal of time, and still ensures that a solution found by Solver is within 1% of the true optimal solution. To ensure that Solver finds the true integer optimal solution – possibly at the expense of far more solution time – set the Integer Optimality % tolerance to zero. LIMITATIONS ON SMOOTH NONLINEAR OPTIMIZATION Nonlinear optimization problems are intrinsically more difficult to solve than linear problems, and there are fewer guarantees about what kind of solution Solver can find. If your smooth nonlinear problem is convex, Solver will normally find the globally optimal solution (subject to issues of poor scaling and the finite precision of computer arithmetic). But if your problem is non-convex, Solver will normally find only a locally optimal solution, close to the starting values of the decision variables, when you click Solve. When dealing with a non-convex problem, it is a good idea to run Solver starting from several different sets of initial values for the decision variables. Since Solver follows a path from the starting values (guided by the direction and curvature of the objective function and constraints) to the final solution values, it will normally stop at a peak or valley closest to the starting values you supply. By starting from more than one point – ideally chosen based on your own knowledge of the problem – you can increase the chances that you have found the best possible “optimal solution.” An easy way to do this is to select the Use MultiStart check box on the GRG Nonlinear tab of the Solver Options dialog: See Multistart Methods for Global Optimization for more information. However, this method uses randomly chosen starting points, so it doesn’t take advantage of your special knowledge of the problem. Nonlinear problems with integer constraints are solved by a Branch and Bound method that runs the GRG method on a series of subproblems. If the GRG method stops prematurely due to slow convergence, or fails to find a feasible point on a given run, this may prevent the Branch & Bound method from finding the true integer optimal solution; though in most cases – given enough time – a good integer solution can be found. Note that, when the GRG Nonlinear Solving method is selected in the dropdown list in the Solver Parameters dialog, the Generalized Reduced Gradient algorithm is used to solve the problem – even if it is actually a linear model that could be solved by the (faster and more reliable) Simplex LP method. The GRG method will usually find the optimal solution to a linear problem, but occasionally you will receive a Solver Result Message indicating some uncertainty about the status of the solution – especially if the model is poorly scaled. So you sh MULTISTART METHODS FOR GLOBAL OPTIMIZATION Solver’s multistart methods for global optimization can overcome some of the limitations of the GRG Solving method alone, but they are not a panacea. The multistart methods will automatically run the GRG method from a number of starting points and will display the best of several locally optimal solutions found, as the probable globally optimal solution. Because the starting points are selected at random and then “clustered” together, they will provide a reasonable degree of “coverage” of the space enclosed by the bounds on the variables. The tighter the variable bounds you specify and the longer Solver runs, the better the coverage. However, the performance of the multistart methods is generally limited by the performance of the GRG method on the subproblems. If the GRG method stops prematurely due to slow convergence, or fails to find a feasible point on a given run, the multistart method can improve upon this only by finding another starting point from which the GRG method can find a feasible solution, or a better locally optimal solution, by following a different path into the same region. If the GRG method reaches the same locally optimal solution on many different runs initiated by the multistart method, this will tend to decrease a Bayesian estimate of the number of locally optimal solutions in the problem, causing the multistart method to stop relatively quickly. In many cases this indicates that the globally optimal solution has been found – but you should always inspect and think about the solution, and consider whether you should run the GRG method manually from starting points selected based on your knowledge of the problem. Could always ensure that you have selected the right Solving method for your problem. GRG NONLINEAR SOLVING METHOD STOPPING CONDITIONS It is helpful to understand what the GRG Nonlinear Solving method can and cannot do, and what each of the possible Solver Result Messages means for this Solver engine. At best, the GRG Solving method alone – like virtually all “classical” nonlinear optimization algorithms – can find a locally optimal solution to a reasonably well- scaled, non-convex model. At times, Solver will stop before finding a locally optimal solution, when it is making very slow progress (the objective function is changing very little from one trial solution to another) or for other reasons. Locally Versus Globally Optimal Solutions When the message “Solver found a solution” appears, it means that the GRG method has found a locally optimal solution – there is no other set of values for the decision variables close to the current values that yields a better value for the objective function. Figuratively, this means that Solver has found a “peak” (if maximizing) or “valley” (if minimizing) – but if the model is non-convex, there may be other taller peaks or deeper valleys far away from the current solution. Mathematically,
Compartilhar