Hi,
the cost function is const, which means that you can't create new variables 
inside the function.  It has to return an existing variable that is constrained 
in the model to be equal to the cost.  Branch-and-bound relies on the cost 
being a variable, because it posts constraints on the cost that make sure each 
solution is better than the previous one.  If you can't express your cost as a 
constraint, you can't use branch-and-bound.

Cheers,
Guido


On 17/01/2013, at 2:01 AM, Christian Schulte <cschu...@kth.se> wrote:

> Hi,
> 
> I am not sure I get the question. Is it that you try to return an integer
> variable assigned to an integer called res?
> 
> Then the magic is:
>       IntVar ret(*this, res, res);
>       return ret;
> Just read up on integer variables in MPG.
> 
> Best
> Christian
> 
> --
> Christian Schulte, www.ict.kth.se/~cschulte/
> 
> 
> -----Original Message-----
> From: users-boun...@gecode.org [mailto:users-boun...@gecode.org] On Behalf
> Of Pascal Francq (Mailing lists)
> Sent: Wednesday, January 16, 2013 2:44 PM
> To: users@gecode.org
> Subject: [gecode-users] Fix IntVar value (MaximizeSpace::cost)
> 
> Hi,
> I am using GeCode to find a set of parameters that maximize some function. I
> inherit therefore from the class 'MaximizeSpace' class. The problem is that
> the function to maximize isn't a direct combination of the parameters
> determined by GeCode.
> So, I need to rewrite the 'virtual IntVar cost(void) const;' method to
> compute for each possible combination of the parameters the value of the
> function to maximize. But here is my problem : I don't found how to return
> this result in the function.
> 
> virtual MyClass::IntVar cost(void) const {
>   int res(function(C)); // C is an 'IntVarArray'
>   IntVar ret=res; // <- Here is my problem !!!!!
>   return(ret);
> }
> 
> Any idea ?
> 
> Thanks.
> --
> Dr. Pascal Francq
> Belgium
> 
> _______________________________________________
> Gecode users mailing list
> users@gecode.org
> https://www.gecode.org/mailman/listinfo/gecode-users
> 
> 
> _______________________________________________
> Gecode users mailing list
> users@gecode.org
> https://www.gecode.org/mailman/listinfo/gecode-users

_______________________________________________
Gecode users mailing list
users@gecode.org
https://www.gecode.org/mailman/listinfo/gecode-users

Reply via email to