Group | Tree | Graph | Index | Concepts |
This reference manual documents the IBM® ILOG® Concert Technology and IBM ILOG Solver libraries.
Group Summary | |
---|---|
optim.concert | The IBM® ILOG® Concert API. |
optim.concert.extensions | The IBM® ILOG® Concert Extensions Library. |
optim.concert.solver | The IBM® ILOG® Concert Solver API. |
optim.concert.xml | The IBM® ILOG® Concert Serialization API. |
optim.solver | The IBM® ILOG® Solver API. |
optim.solver.iim | The IBM® ILOG® Iterative Improvement Methods Optimization Components (IIM) API. |
Solver is a C++ library for constraint programming. This library is not a new programming language: it lets you use data structures and control structures provided by C++. Thus, the Solver part of an application can be completely integrated with the rest of that application (for example, the graphic interface, connections to databases, etc.) because it can share the same objects.
Concert Technology offers a C++ library of classes and functions that enable you to design models of problems for both math programming (including linear programming, mixed integer programming, quadratic programming, and network programming) and constraint programming solutions.
This library is not a new programming language: it lets you use data structures and control structures provided by C++. Thus, the Concert Technology part of an application can be completely integrated with the rest of that application (for example, the graphic interface, connections to databases, etc.) because it can share the same objects.
Furthermore, you can use the same objects to model your problem whether you choose a constraint programming or math programming approach. In fact, Concert Technology enables you to combine these technologies simultaneously.
This manual assumes that you are familiar with the operating system where you are using Solver. Since Solver is written for C++ developers, this manual assumes that you can write C++ code and that you have a working knowledge of your C++ development environment.
Throughout this manual, the following typographic conventions apply:
typeface
.typeface
in the section
where they are documented.The names of types, classes, and functions defined in the Solver library begin with Ilo
or
Ilc
. Names beginning with Ilo
(for optimization) indicate components suitable
for models; they are recommended for use with IBM ILOG Concert Technology. Names beginning with Ilc
(for constraint programming) indicate components suitable for use inside a search; they are necessary
when you extend the IBM ILOG Solver library yourself by nesting search components within goals or constraints
or by deriving your own classes from Ilc
components.
The names of classes are written as concatenated, capitalized words. For example:
IlcIntVar
A lower case letter begins the first word in names of arguments, instances, and member functions. Other words in such a name begin with a capital letter. For example,
aVar
IlcIntVar::getValue
There are no public data members in Solver except in goals and demons. (See for an explanation of goals and demons.)
Accessors begin with the keyword get
followed by the name of the data member. Accessors for
Boolean members begin with is
followed by the name of the data member. Like other member functions,
the first word in such a name begins with a lower case letter, and any other words in the name begin with a capital letter.
Modifiers begin with the keyword set
followed by the name of the data member.
class Task { public: Task(char* name, IlcInt duration); ~Task(); IlcInt getDuration() const; void setDuration(IlcInt duration); IlcBool isCritical() const; void setCritic(IlcBool critic); };