source: html/trunk/Cbc/ch02s05.html @ 554

Last change on this file since 554 was 554, checked in by rlh, 16 years ago

initial import of Cbc documentation

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 6.1 KB
Line 
1<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>
2  Methods which have a major impact on solution process
3  </title><meta name="generator" content="DocBook XSL Stylesheets V1.61.2"><link rel="home" href="index.html" title="CBC User Guide"><link rel="up" href="ch02.html" title="Chapter 2. 
4  Basic Model Classes
5  "><link rel="previous" href="ch02s04.html" title="Some Useful Set and Get Methods"><link rel="next" href="ch03.html" title="Chapter 3. 
6  Other Classes and examples
7  "></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">
8  Methods which have a major impact on solution process
9  </th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s04.html">Prev</a> </td><th width="60%" align="center">Chapter 2. 
10  Basic Model Classes
11  </th><td width="20%" align="right"> <a accesskey="n" href="ch03.html">Next</a></td></tr></table><hr></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="majormethods"></a>
12  Methods which have a major impact on solution process
13  </h2></div></div><div></div></div><p>
14  These are important methods which will impact search e.g. adding a cut
15  generator.  The description here may not give all parameters if they are exotic.
16  You will also find more on some of them under the description
17  of that class:
18  </p><div class="table"><a name="id2899565"></a><p class="title"><b>Table 2.5. Major methods</b></p><table summary="Major methods" border="0"><colgroup><col><col></colgroup><thead><tr><th>
19    Method(s)
20    </th><th>
21    Description
22    </th></tr></thead><tbody><tr><td align="left" valign="top"><tt class="function">passInPriorities(const int * priorities, bool ifNotSimpleIntegers,
23                        int defaultValue=1000)</tt></td><td align="left" valign="top">
24      Normally this is a list of priorities (1 being highest) and the other
25      ifNotSimpleIntegers being false which set priorities for all integer
26      variables.  If two variables are unsatisfied and one has a higher priority
27      then it is always preferred whatever its value.  This can be very powerful
28      but also see PseudoCosts in CbcObject discussion.
29      </td></tr><tr><td align="left" valign="top"><tt class="function">addCutGenerator(CglCutGenerator *,int howOften, const char * name)</tt></td><td align="left" valign="top">
30      This is used to add a cut generator to CbcModel.  Any cut generator in Cgl
31      can be used.  If howOften &gt;0 then the cut generator will be called at root
32      node and every howOften nodes (There is an option to override and do at
33      depth 0,k,2k..).  If -1 then the code sees how effective it was at root
34      node and sets howOften dynamically.  If -99 then just does at root node.
35      There is also a redundant -100 setting which switches off which can be useful
36      for testing.  For usage see sample2.cpp in the CBC Samples
37      directory<a href="ch05.html" title="Chapter 5. 
38More Samples
39">Chapter 5, <i>
40More Samples
41</i></a> which uses the most common
42      cut generators.
43      </td></tr><tr><td align="left" valign="top"><tt class="function">addHeuristic(CbcHeuristic *)</tt></td><td align="left" valign="top">
44      This adds one heuristic to CbcModel.See the section on CbcHeuristic to obtain
45      a list of available heuristics and a guide as to building new ones.
46      </td></tr><tr><td align="left" valign="top"><tt class="function">addObjects(int number,CbcObject ** objects) </tt></td><td align="left" valign="top">
47      This adds members of the base class CbcObject to CbcModel.  See the section
48      on CbcObject for detailed nformation.  The objects are cloned by code so
49      user should delete after <tt class="function">addObjects</tt>.  There are two
50      main cases.  The first is when the originally created objects are left and
51      new ones added (maybe with a higher priority);  this might be used when
52      simple integer objects exist and Special Ordered Sets of type 1 are going
53      to be added, which while not necessary will give extra power in branching.
54      The second case is when the old ones are being deleted. 
55      For usage see sos.cpp in the CBC Samples
56      directory<a href="ch05.html" title="Chapter 5. 
57More Samples
58">Chapter 5, <i>
59More Samples
60</i></a>.
61      </td></tr><tr><td align="left" valign="top"><tt class="function">CglPreProcess::preProcess(OsiSolverInterface &amp;)</tt></td><td align="left" valign="top">
62      This is not really part of Cbc and can be used by other mixed integer
63      solvers but it can be a useful tool.  It tries to fix variables and
64      strengthen coefficients and also do a normal presolve.  Owing to the
65      odd nature of integer programming it may not always reduce the time
66      taken but is definitely worth trying.  For an example of using
67      preProcess and postProcess see sample2.cpp in the CBC Samples
68      directory<a href="ch05.html" title="Chapter 5. 
69More Samples
70">Chapter 5, <i>
71More Samples
72</i></a>.
73      </td></tr><tr><td align="left" valign="top"><tt class="function">setNodeComparison(CbcCompareBase *)</tt></td><td align="left" valign="top">
74       This is used to use a non-default node comparison function
75       to see which is the next node on tree to explore.  This
76       can make a large difference and specialized ones are easy to program.
77       See the section on CbcCompare.
78      </td></tr></tbody></table></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s04.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="ch03.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Some Useful Set and Get Methods </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> Chapter 3. 
79  Other Classes and examples
80  </td></tr></table></div></body></html>
Note: See TracBrowser for help on using the repository browser.