Extending Planning Languages to Include Optimization Capabilities

Planning languages and spreadsheet systems are very popular, and the number of new users is increasing dramatically. On larger computers, IFPS, System W, and FCS-EPS are among the most widely used systems; while on personal computers, Multiplan and 1-2-3 enjoy great popularity. Currently, such languages operate mainly as simulators, evaluating specific cases. In this paper, we propose methodology which is useful in designing an optimization capability for these languages. This capability permits the user to designate certain model variables as decisions, constraints, and the objective. Upper and lower limits on the decisions and constraints are also specified. The optimization interface then diagnoses the problem as linear or nonlinear, computes first partial derivatives needed by the solution algorithms, and invokes the appropriate "solver." Information regarding the optimal solution is obtained using the reporting and graphics capabilities of the planning language. Sensitivity analysis and "what if" features permit easy modification of the problem for further analysis. These ideas have been implemented in a system called IFPS/OPTIMUM, which provides an optimization capability to users of the widely-used planning language IFPS. A simple IFPS/OPTIMUM example is presented, and two applications are described. Endowing planning languages with an optimization capability promises to increase dramatically the use of optimization. There are already hundreds of thousands of users of planning languages and spreadsheet systems, most of whom are unfamiliar with optimization models or methods. Making optimization a natural extension of systems they understand and find very useful holds great promise, both for applications and for teaching optimization concepts.