[OBOE-tickets] [OBOE] #2: --enable-serialization=yes functionality broken in OBOE trunk
OBOE
coin-trac at coin-or.org
Sun Mar 23 10:53:12 EDT 2008
#2: --enable-serialization=yes functionality broken in OBOE trunk
------------------------+---------------------------------------------------
Reporter: nowozin | Owner: somebody
Type: defect | Status: new
Priority: minor | Milestone:
Component: component1 | Version:
Keywords: |
------------------------+---------------------------------------------------
When --enable-serialization=yes is used, the SERIALIZATION macro is
defined and additional code is included in OBOE.
This code is out of sync with the remaining OBOE code and does not
compile. Specifically, line 132 in Manager.h reads:
{{{
AccpmVector *cut = new AccpmVector(_activeCutsM.getColumn(i));
_cutSet[cut] = ++_currentCutId;
}}}
where _cutSet is a CutSet type, defined as
{{{
typedef map<const AccpmVectorIntPair *, int, ltAccpmVectorPair>
CutSet;
}}}
Therefore the operator[] call fails and produces the error message:
{{{
make[3]: Entering directory `/data/home/scut/projects-
coin/oboe/src/AccpmCore'
if g++ -DHAVE_CONFIG_H -I. -I. -I../.. -I../../src/ProblemInput
-I../../src/AccpmLA/ -I../../src/Oracle -I../../src/Utilities
-I/opt/lapackpp-2.5.2 -I/opt/lapackpp-2.5.2/include/ -O3 -Wall
-DSERIALIZATION -MT Manager.o -MD -MP -MF ".deps/Manager.Tpo" -c -o
Manager.o Manager.C; \
then mv -f ".deps/Manager.Tpo" ".deps/Manager.Po"; else rm -f
".deps/Manager.Tpo"; exit 1; fi
Manager.h: In member function ‘virtual void
Accpm::Manager::postprocess()’:
Manager.h:132: error: no match for ‘operator[]’ in
‘((Accpm::Manager*)this)->Accpm::Manager::_cutSet[cut]’
/usr/include/c++/4.1.3/bits/stl_map.h:340: note: candidates are: _Tp&
std::map<_Key, _Tp, _Compare, _Alloc>::operator[](const _Key&) [with _Key
= const Accpm::AccpmVectorIntPair*, _Tp = int, _Compare =
Accpm::Manager::ltAccpmVectorPair, _Alloc = std::allocator<std::pair<const
Accpm::AccpmVectorIntPair* const, int> >]
make[3]: *** [Manager.o] Error 1
}}}
For now, one has to disable serialization when compiling OBOE. I think
the straight-forward checkpointing functionality is a great advantage of
cutting plane methods and therefore a fix would be great.
--
Ticket URL: <https://projects.coin-or.org/OBOE/ticket/2>
OBOE <https://projects.coin-or.org/OBOE>
OBOE
More information about the OBOE-tickets
mailing list