help-glpk
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Help-glpk] problem with glp_ios_heur_sol


From: Le Dinh Danh
Subject: Re: [Help-glpk] problem with glp_ios_heur_sol
Date: Mon, 5 Aug 2013 17:09:55 +0200

Thank you Andrew Makhorin, I wil try it.



On Mon, Aug 5, 2013 at 4:06 PM, Andrew Makhorin <address@hidden> wrote:

> I am now having a problem with using glp_ios_heur_sol() to provide an
> initial integer feasible solution by heuristic.
> To do so I did as follows:
>
> void callback(glp_tree *tree, void *info)
>
> {  if (glp_ios_reason(tree) == GLP_IHEUR &&
>        glp_ios_curr_node(tree) = 1)
>    {   /* lp relaxation to the root subproblem has been just
>           solved */
>        glp_ios_heur_sol(tree, <array of x[j] found by heuristic>);
>    }
>    return;
> }
> And then in the main function:
> int main(...)
> {  glp_prob *mip;
>    glp_iocp parm;
>    . . .
>    <apply your own heuristic to find all x[j], j = 1,...,n>
>    . . .
>    glp_init_iocp(&parm);
>    parm.cb_func = callback;
>    parm.cb_info = ... ;
>    ret = glp_intopt(mip, &parm);
>    . . .
> }
> Although the array x[] is set correctly (I am sure after carefully
> checked), the result is still incorrect. Is anyone has successfully
> applied this can share something?

You may try to add after a call to glp_ios_heur_sol the following call:

   glp_print_mip(glp_ios_get_prob(tree), "filename.txt");

It prints the current integer feasible solution to a text file, and it
should be your solution if glp_ios_heur_sol accepted it. Note that
glp_ios_heur_sol doesn't check integer feasibility, so make sure that
the heuristic solution you provide is feasible (see the feasibility
conditions printed at the bottom of the text file).





--
Le Dinh Danh
LIRMM, 161 rue Ada, 34095 Montpellier Cedex 5
Email: address@hidden; address@hidden               
Tel: (+84) 912.449.666; (+33) 6.52.98.59.66 


reply via email to

[Prev in Thread] Current Thread [Next in Thread]