Warning message: “The model did not converge to a solution…”
Openbox lets you insert a copy/ paste macro to resolve circular references – see Circular references for more on how to do this.
By default, the macro does 50 iterations to try to find a solution. However, for some models, this may not be enough, and you may see a message like “The model did not converge to a solution after 50 iterations. There was a remaining difference…“
The first thing to try here is to increase the number of iterations. This is set in the Openbox options window, as shown below.
You can also adjust the tolerance, if you are happy with finding a more approximate solution. Making the tolerance larger (e.g. 0.01 instead of 0.0001) will mean that there can be a bigger difference between the copy and paste blocks, and so the macro will likely stop sooner.
However, in some cases, changing the number of iterations and the tolerance might not resolve the problem. This could be because:
- There is no solution to your model
- You need a more sophisticated solver than the copy/ paste macro that comes with Openbox
For (2), it is possible to include a different copy/ paste macro by selecting it in the “VBA” tab of the Options window. This will override the standard Openbox macro, if you wish.
You can also try using the Solver add-in that comes with Excel, or any of the commercial alternatives.
For (1), the only approach is to review the model to identify whether there is any issue with the model logic that means that no solution is possible. For example, the model might require gearing to be a certain %, but also set the debt size in another way, and there might not be a value that satisfies both the gearing % and the debt size conditions.