# How to enumerate all solutions

Tells how to enumerate all solutions of a MIP model.

## About this task

You can also enumerate all solutions that are valid for a specific criterion. For example, if you want to enumerate all alternative optimal solutions, do the following steps:

## Procedure

- Set the absolute gap for solution pool parameter
(
`SolnPoolAGap`

,`CPX_PARAM_SOLNPOOLAGAP`

) to 0.0 (zero). - Set the solution pool intensity parameter
to 4 (
`SolnPoolIntensity`

,`CPX_PARAM_SOLNPOOLINTENSITY`

). - Set the maximum number of solutions generated for solution pool by populate (
`PopulateLim`

,`CPX_PARAM_POPULATELIM`

) to a value sufficiently large for your model; for example, 2 100 000 000. - Call populate.

## Results

Beware, however, that, even for small models, the number of possible solutions is likely to be huge. Consequently, enumerating all of them will take time and consume a large quantity of memory.

In the Interactive Optimizer, for example, to write all the solutions
to a file named

`mySolutions.sol`

in the SOL file format,
execute that procedure and then use the following command:
```
write mySolutions.sol all
```

In addition, when you attempt to enumerate all solutions, some restrictions apply, as explained in the following sections.