Are you happy sending the spreadsheet to me? False non-linearity reports can often arise because of numerical issues where the coefficients are very large or very small; such models are poorly behaved both for solving and for linearity checking. It would be helpful to have an example of such a case that we could include in our testing. If you are happy, are you able to send the spreadsheet to email hidden; JavaScript is required ? Thanks, Andrew

]]>E12:E75 are numeric constants and not formulae in the cells.

G12:G75 are binary variables (not formulae). The error only arises when the formula in cell G7 is changed from SUM(G12:G75) to SUMPRODUCT(G12:G75,E12:E75)

Are they numeric constants, i.e. values you typed in and not formulae in the cells?

]]>An Integer Program can be very variable in the time it takes to solve. Nothing you can really do about that, sorry. Andrew

]]>Because there are multiple optimal solutions. Andrew

]]>Yes, the range E12:E75 are all numeric values.

]]>Thanks for the report. Please confirm that E12:E75 are all constants (i.e. simple numeric values). Andrew

]]>This error only arises if the formula in cell G7 is changed from SUM(G12:G75) to SUMPRODUCT(G12:G75,E12:E75), where G12:G75 contains binary variables and E12:E75 contains constants

LINEARITY CHECK LOG

In the constraint: G7 <= I7,

the model appears to be non-linear in the decision variables: G12, G13, G14, G15, G16, G17, G18, G19, G20, G21, G22, G23, G24, G25, G26, G27, G28, G29, G30, G31, G32, G35, G36, G37, G38, G39, G40, G41, G42, G43, G44, G45, G46, G47, G48, G51, G52, G53, G54, G55, G56, G57, G58, G59, G60, G61, G62, G63, G64, G67, G68, G69, G70, G71, G72, G73, G74, G75

Larry: OpenSolver uses CBC, which uses the simplex method. How fractional are your solutions; values like 0.9999 and 1 are equivalent for all practical purposes, and you should treat them as such. However, if you get 1/2 or 1/3 in a solution, then I’d be surprised, but as you say such solutions may still be optimal. It is possible that CBC is finding the solutions using a heuristic, but I’d be surprised. By the way, the “Network” reference in the .lp file is your sheet name, not a network identification. Andrew

]]>I have a number of large Minimum Cost Network Flow problems to do. These should have, among their solutions, entirely integer allocation sets, which I prefer to non-integer solutions.

In lieu of integer constraints, OpenSolver returns non-integer allocations with the correct objective function value. This suggests to me that it is using a barrier algorithm. (?) Is there a way to demand the Simplex algorithm for these – or to otherwise guide the solver? With large problems (75k variables), I fear that the introduction of integer variables adds significant time, even in the MCNF realm. (Perhaps I am deceived in this estimation.)

Note that I can reproduce the difficulty even with a very small problem, for which the Excel solver yields integer allocations and OpenSolver does not.

Also, OpenSolver’s .lp file indicates that it recognizes the network problem. (As one would expect.)

/ Network!$I$2:$L$25 < 1

/ Network!$I$30:$L$33 = Network!$I$37:$L$40

/ Network!$O$2:$O$25 < 1

Any hints?

Thanks!

-Larry Curcio