[gecode-users] Updating Variables stored in a STL-Vector
Holmes Giovanny Salazar Osorio
hgsosorio at gmail.com
Wed Apr 17 15:26:16 CEST 2013
Hello Christian,
I wrote bad the code in the mail, but in my class I update the variables in
this way,
listVarMachines[i].update(*this, share, s.listVarMachines[i]);
I'm initializing the stl-vectors that contain IntArgs in this way:
listResources.push_back(IntArgs(size, anIntegerArray));
And the stl-vectors that contain IntVarArray in this way:
for the machines:
listaVarMachines.push_back(IntVarArray(*this, size, anIntSet));
for the times of the tasks:
listVarTStart.push_back(IntVarArray(*this, size, 0, MAX-MAKESPAN));
MAX-MAKESPAN is an int. Take values > 500, it depends of the problem to
solve.
Thanks a lot for helping me. Best regards,
Holmes
2013/4/17 Christian Schulte <cschulte at kth.se>
> Yes, the update is definitely wrong, the code you sent should not even
> compile, it must be:****
>
> listVarMachines[i].update(*this, share,
> s.listVarMachines[i]);****
>
> instead of****
>
> listVarMachines.update(*this, share, s.listVarMachines[i])
> ;****
>
> and so on.****
>
> ** **
>
> Then, do you initialize the variable and integer arrays properly?****
>
> ** **
>
> Christian****
>
> ** **
>
> --****
>
> Christian Schulte, Professor of Computer Science, KTH,
> www.ict.kth.se/~cschulte/****
>
> ** **
>
> ** **
>
> *From:* users-bounces at gecode.org [mailto:users-bounces at gecode.org] *On
> Behalf Of *Holmes Giovanny Salazar Osorio
> *Sent:* Wednesday, April 17, 2013 6:06 AM
> *To:* users at gecode.org
> *Subject:* [gecode-users] Updating Variables stored in a STL-Vector****
>
> ** **
>
> Hello all,
>
> I have Gecode 3.7.3 on Ubuntu. I'm working in a scheduling problem with
> optmization, therefore, I'm using MaximizeScript and the cumulatives
> constraint.
>
> Right now, I'm having problems with the cumulatives constraint, because,
> It doesn't works properly. I have something like
>
> take into account that: size = listVarMachines.size = listVarTStarts =
> listVarTEnds = listDuration = listResources = listMachinesCapacity
>
> for(int i = 0; i < size; i++){
> cumulatives(
> *this,
> listVarMachines[i],
> listVarTStarts[i],
> listDuration[i],
> listVarTEnds[i],
> listResources[i],
> listMachinesCapacity[i],
> true,
> ICL_BND);
> }
>
> where listVarMachines, listVarTStarts, listVarTEnds are declared in this
> way -> vector<IntVarArray> listVar...
>
> And listDuration, listResources and listMachinesCapacity are declared in
> this way -> vector<IntArgs> list...
>
> When I force the elements in the vector listMachinesCapacity to take a
> value of 1. The program assign more than 1 task at the same time. This is
> wrong, because with the Limit of resource equals to 1, the cumulatives
> constraint should assign one and only one task in the same unit of time.
>
> I think that the problems is that the cumulatives constraint isn't being
> propagated for any reason. And I have doubts with the way in that the
> variables are being updated.
>
> In the update function I have something like this:
>
> MyClass(bool share, MyClasss) : MaximizeScript(share, s) {
>
> listVarMachines = s.listVarMachines;
> listVarTStarts = s.listVarTStarts;
> listVarTEnds = s.listVarTEnds;
> for( int i=0; i < size; i++)
> {
> listVarMachines.update(*this, share, s.listVarMachines[i]);
> listVarTStarts.update(*this, share, s.listVarTStarts[i]);
> listVarTEnds .update(*this, share, s.listVarTEnds[i]);
> }
> }
>
> Dou you think that the problem can be the way of I'm updating the
> variables, or do you have another idea?
>
>
> Thank you in advance!. Best regards,
>
> Holmes
>
> -- ****
>
> *"El secreto del éxito, está en la disciplina"*****
>
> Holmes Giovanny Salazar Osorio****
>
> Ingeniería de Sistemas****
>
> Estudiante 10mo Semestre****
>
> Universidad del Valle - Sede Tuluá****
>
--
*"El secreto del éxito, está en la disciplina"*
Holmes Giovanny Salazar Osorio
Ingeniería de Sistemas
Estudiante 10mo Semestre
Universidad del Valle - Sede Tuluá
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.gecode.org/pipermail/users/attachments/20130417/d24835bb/attachment-0001.html>
More information about the users
mailing list