The starting point does not make any difference to the problem that is sent to the solver, but the logs suggest that the problems in StartAtZero and StartAtOne are slightly different. In particular:
StartAtZero:
Presolve eliminates 512 constraints and 215 variables.
Substitution eliminates 282 variables.
...
611 constraints; 2020 nonzeros
StartAtOne:
Presolve eliminates 510 constraints and 213 variables.
Substitution eliminates 284 variables.
...
611 constraints; 2022 nonzeros
To look into this further, I suggest adding the command "expand >StartAtZero.out;" just before "solve;" in the first run, and then changing this to "expand >StartAtOne.out;" for the second run, to create two files that show explicitly the constraints that AMPL is generating at the time that the solve is done. Then you can use a file comparison utility to look for differences.
If the two files are the same, then use "solexpand" instead of "expand" to compare the constraints that AMPL is generating for the solver, after the presolve reductions are made; this will reflect, in particular, any differences due to variables being fixed.
You might also learn more about any differences by generating files like your "Case23.sol" for both cases, and comparing them to look for any differences other than in the initial value of bON['GENB23'].
Bob Fourer
am...@googlegroups.com
=======