# Chapter 17Finding the right solution

This chapter looks at how we

- find the appropriate solution and
- examining it to decide if it is satisfactory to our purposes.

Almost any developer of software tools for solving computational problems has a few “war stories” about the user who, given a perfectly good mathematical solution to his or her problem, complains that it “is not right.” But even before that we have to actually generate a solution.

Throughout this chapter, we will only talk of **minimization** problems. This is the framework we have used elsewhere, and maximization problems are assumed to have been converted to minimizations.

## 17.1 Particular requirements

As we have touched on earlier, users generally “know” their own problem in ways that the optimization software and its designers cannot be expected to address. If one or more parameters must obey a particular constraint, such as being positive, this **must** be communicated to the software in some way. If a parameter must be an integer, then we need to choose how we solve the problem so that this is taken into account.

The advice in this section, therefore, is

- write down
**every** requirement on the solution and solution parameters, even if these conditions may not be imposed explicitly in the software;
- given a trial solution, check that each condition is satisfied;
- as needed, impose the conditions in the software, which may imply a change of method.

### 17.1.1 A few integer parameters

In cases where there are at most two or three ...