# Re: [eclipse-clp-users] Begginers Querry

From: Kish Shen <kisshen_at_...5...>
Date: Wed, 01 Jun 2011 13:09:01 +0100
```Hi Nishant,

There are many ways you can use a hybrid approach to solve a problem.
This is an active research area, and the paper suggested by Thorsten is
one example, and you will find others in the literature.

Using a hybrid technique effectively means understanding the strengths
of the different solving methods (e.g. CLP and MILP in your case) and
thus making the right choices -- when to use a hybrid approach, how to
break-down your problem, etc., i.e. there is not (yet) a "black-box"
approach where you can just specify the problem and the system will
solve it for you using an hybrid approach.

In the pointers I suggested in my last reply to you, there are some
examples of using an hybrid approach. In the "Assignment with Slots and
Capacities" example, the problem is solved by a CLP (finite domain), MIP
and hybrid (finite domain + linear programming) approach. In the
literature section, there are lecture materials on hybrid algorithms
from the Constraint Programming Summer School 2005, and the slides for
ECLiPSe by Example contains the program listing for a hybrid (MIP +
finite domain) approach to solving a simple scheduling problem.

Cheers,

Kish

On 01/06/2011 07:30, nishant raj wrote:
> Could you please provide me an example where any problem of hybrid
> optimization( MILP + CLP formulation ).
>   By hybrid i mean a problem which is formulated half in MILP and half in CLP
> that is where some well known constraints are treated via CLP and rest
> constraints are solved via MILP.
> I want an example where this type of formulation is done in Eclipse...
> Thanks guys
>
> On Fri, May 27, 2011 at 10:44 PM, Kish Shen<kisshen@...5...>  wrote:
>
>> Hi Nishant,
>>
>>  From your questions, it would seem that you are not familiar with
>> constraint programming, or programming in Prolog (ECLiPSe is Prolog with
>> extensions), you really need to learn these before you think about tackling
>> complex problems, especially if you intend to use an approach that will
>> combine constraint programming and MIP.
>>
>> The ECLiPSe website (eclipseclp.org) provides links to various materials
>> that you may find useful. In terms of introduction to ECLiPSe and Constraint
>> Programming, you may want to refer to the books listed under the Books
>> section in:
>>
>> http://eclipseclp.org/reports/index.html
>>
>> The following section (Introductory Material) also contain various
>> introductory materials (slide for talks, etc.).
>>
>>
>>
>> On 26/05/2011 15:09, nishant raj wrote:
>>
>>   1. How to feed xls data in EClipse...like in GAMS we use database and push
>>> the xls file or directly upload it....
>>>
>>
>> ECLiPSe does not provide any specialised reader for Excel files (I assume
>> that is what you mean by xls). Like other programming languages, ECLiPSe
>> provide I/O facilities to read files, which you can use to read in the Excel
>> files.
>>
>> The more important question is not how to read the file, but what do you
>> want to do with the data you read in? Unlike GAMS, where you can read in
>> some predefined formatted data files (which I assume what these xls files
>> are), and then just apply a solver to solve it, you need to read in data and
>> construct the problem model using ECLiPSe, before you can solve it.
>>
>> The introductory books should give you some guidance on how you can do
>> this. Some of the code examples in
>>
>> http://eclipseclp.org/examples/index.html
>>
>> will also illustrate this, but you should learn at least something about
>> ECLiPSe/Prolog before looking at these examples.
>>
>>
>>   2. As every program compile and then run ...in other progamming languages
>>> like C.C++,JAVA...i know how to compile..but how to run..what exactly
>>> QUERY
>>> is used for...
>>>
>>
>> This is a very basic question about Prolog. A query is how you "run" a
>> Prolog program, it is like calling a procedure in a more conventional
>> language like C.  Again, you should read some introductory material on
>> ECLiPSe and/or Prolog.
>>
>> One possibility is the ECLiPSe tutorial (available from the website, but
>> also comes with the ECLiPSe distribution). This introduces you to various
>> libraries in ECLiPSe, and there is a chapter on Prolog, but this might be
>> rather dense if you have no knowledge of Prolog at all, so you may want to
>> also read something like a Prolog textbook that is intended specifically to
>> teach Prolog.
>>
>>
>>      Now, suppose we want to write a code for sudoku solving...then how user
>>> will input his data after compilation ....and suggest some good links to
>>> study more basics...
>>>
>>
>> Again, ECLiPSe provides the I/O facilities, as in other Programming
>> Languages, that will allow you to read in such data. Alternatively, you can
>> also provide the data via a GUI, using for example the Tcl/Tk or Java
>> Interfaces to Prolog. I suggest starting with the basic I/O facilities
>> first, and again, such topics will be covered by the introductory books to
>> Prolog or ECLiPSe.
>>
>>
>>
>>   3. Can we solve standalone MILP problems with COIN-OR using Eclipse.? how
>>> give me some light on this matter
>>>
>>
>> I am not sure what you mean by "standalone MILP problems". Do you mean a
>> MILP problem specified as a MPS (or some other format such as LP) file? Yes,
>> the ECLiPSe interface for MILP solver (eplex) will allow you to read in a
>> MPS or LP formatted file and then solve the problem. However, if this is
>> what you want to do, there is little reason to use ECLiPSe.
>>
>> Normally, you will specify the problem model you want to solve in ECLiPSe,
>> perhaps by reading in raw data files (rather than a pre-defined
>> specification of a problem like MPS format), and then solve it.
>>
>>
>>   4. How coin-or interface works in Eclipse.
>>>
>>
>> Firstly, ECLiPSe has an interface to MIP solvers -- the eplex interface.
>> This interface will work with various different solvers, including solvers
>> in the COIN-OR projects, e.g. CBC/CLP.
>>
>> As for your question, I am not sure what you are asking. I assume you are
>>
>> If you are asking how you can program using the eplex interface, the
>> ECLiPSe tutorial has a chapter on eplex, which introduce some of the most
>> basic facilities of eplex to get you started.
>>
>> Cheers,
>>
>> Kish
>>
>>
>>> Thanks guys...Eagerly waiting for your replies.
>>>
>>>
>>>
>>>
>>>
>>>
>>> ------------------------------------------------------------------------------
>>> vRanger cuts backup time in half-while increasing security.
>>> With the market-leading solution for virtual backup and recovery,
>>> you get blazing-fast, flexible, and affordable data protection.
>>> http://p.sf.net/sfu/quest-d2dcopy1
>>>
>>>
>>>
>>> _______________________________________________
>>> ECLiPSe-CLP-Users mailing list
>>> ECLiPSe-CLP-Users_at_lists.sourceforge.net
>>> https://lists.sourceforge.net/lists/listinfo/eclipse-clp-users
>>>
>>
>>
>> --
>> This e-mail may contain confidential and privileged material for the
>> sole use of the intended recipient. Any review, use, distribution or
>> disclosure by others is strictly prohibited. If you are not the intended
>> the sender by reply e-mail and delete all copies of this message.
>> Cisco Systems Limited (Company Number: 02558939), is registered in
>> England and Wales with its registered office at 1 Callaghan Square,
>> Cardiff, South Glamorgan CF10 5BT.
>>
>
>
>

--
This e-mail may contain confidential and privileged material for the
sole use of the intended recipient. Any review, use, distribution or
disclosure by others is strictly prohibited. If you are not the intended