Solver Tutorial - Defining a ModelHow Do I Define a Model?A solver deals with numbers, so you'll need to quantify the various elements of your model: decision variables, constraints, and the objective -- and their relationships. Decision VariablesStart with the decision variables. They usually measure the amounts of resources, such as money, to be allocated to some purpose, or the level of some activity, such as the number of products to be manufactured, the number of pounds or gallons of a chemical to be blended, etc. If you are shipping goods from, say, 3 different plants to 5 different warehouses, there are 3 x 5 = 15 different routes along which products could be shipped. So, you might have 15 variables, each one measuring the number of products shipped along that route. You might also have 4 different product types, and you might want to plan shipments in each of the next 6 months. So this might lead to 3 x 4 x 5 x 6 = 360 variables. This illustrates how a model can become large rather quickly! Part of the art of modeling is deciding how much detail is really required; for example, you might not need to explicitly measure shipments of different product types. Objective FunctionOnce you've defined the decision variables, the next step is to define the objective, which is normally some function that depends on the variables. For example, suppose you were planning how many units to manufacture of three products: TV sets, stereos, and speakers. Your objective might be to maximize profit, so assume that each TV set yields a profit of $75, each stereo $50, and each speaker $35. Then your objective function might be:
On a spreadsheet where the number of TV sets, stereos and speakers are in cells D9, E9 and F9 respectively, the formula would be:
You'd be finished at this point, if the model did not require any constraints. For example, in a curve-fitting application, the objective is to minimize the sum of squared differences between each actual data value, or observation, and the corresponding predicted value. This sum has a minimum value of zero, which occurs only when the actual and predicted values are all identical. If you asked a solver to minimize this objective function, you would not need any constraints. In most models, however, constraints play a key role in determining what values can be assumed by the decision variables, and what sort of objective value can be attained. |
Risk Solver Platform is an integrated superset of Premium Solver Platform and Risk Solver with best-of-breed simulation, best-of-breed optimization, and new stochastic programming and robust optimization capabilities you can't get anywhere else. Premium Solver Platform, our premier tool for conventional optimization, uses new PSI Technology to automatically analyze and transform your Excel model. It solves every type and size of problem, using built-in and plug-in Solver Engines. Premium Solver, our basic upgrade for the Excel Solver, solves up to 10X larger problems at much higher speed, and solves new kinds of problems with our Evolutionary Solver.
Risk Solver Platform is an integrated superset of Premium Solver Platform and Risk Solver with best-of-breed simulation, best-of-breed optimization, and new stochastic programming and robust optimization capabilities you can't get anywhere else. Risk Solver Premium integrates all the features of Premium Solver and Risk Solver, with far superior optimization and higher performance, easier to use simulation, for about the same price as competitive products for Monte Carlo simulation. Risk Solver is the easiest and fastest tool available for risk analysis of your Excel models, using Monte Carlo simulation. Evaluate thousands of scenarios in seconds, and see instantly updated charts and statistics, each time you ask "what if". Software Developer Tools: Solver Platform SDK makes it easy to solve any type or size of optimization problem in your Visual Basic, VB.NET, C/C++, C#, Java, or MATLAB program. And it's easy to deploy your application with our flexible licensing for software vendors and corporate developers. |


