[OS] Binary variables ignore bounds?
Tony Kelman
kelman at berkeley.edu
Fri Jan 30 23:11:38 EST 2015
So, my Julia interface to OS is now working, see
https://github.com/tkelman/CoinOptServices.jl - I can send a more detailed
announcement with installation and usage instructions soon. The unit test
suite of JuMP (a Julia package for optimization modeling) is revealing what
looks like buggy behavior. Here's a very simple osil file:
<?xml version="1.0" encoding="utf-8"?>
<osil xmlns="os.optimizationservices.org"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="os.optimizationservices.org
http://www.optimizationservices.org/schemas/2.0/OSiL.xsd">
<instanceHeader>
<description>generated by CoinOptServices.jl on 2015/01/30 at
19:01:45</description>
</instanceHeader>
<instanceData>
<variables numberOfVariables="1">
<var lb="0.0" ub="0.0" type="B"/>
</variables>
<objectives numberOfObjectives="1">
<obj maxOrMin="max" numberOfObjCoef="1">
<coef idx="0">1.0</coef>
</obj>
</objectives>
<constraints numberOfConstraints="0"/>
</instanceData>
</osil>
When I send this problem to OSSolverService, using any of Cbc, Bonmin, or
Couenne, I get an incorrect solution of <var idx="0">1</var>, instead of
0 as expected. I have not yet tracked down where in the source this might
be happening. Somewhere that processes variable types might be overwriting
lower and upper bounds to 0 and 1 for all binary variables, instead of first
checking whether any existing bounds given in the osil file are stricter.
-Tony
More information about the OS
mailing list