How to count consecutive binary variables

Hi everyone,

i need some hints with counting consecutive binary values.

For Example I want to count the levels from K.1 till K.4

Level
K.1 1
K.2 1
K.3 1
K.4 1
K.5 0
K.6 1

The result should be 4. I am using MIP and K is a binary variable.

Thanks ind advance!!!

\

Hi.
can you explain more,what exactly you want to do?
I have some thing in mind,maybe helpful.
you want to count number of 1s or just number of variables??



On Tue, Nov 30, 2010 at 10:22 PM, PowerM wrote:

Hi everyone,

i need some hints with counting consecutive binary values.

For Example I want to count the levels from K.1 till K.4

Level
K.1 1
K.2 1
K.3 1
K.4 1
K.5 0
K.6 1

The result should be 4. I am using MIP and K is a binary variable.

Thanks ind advance!!!


To post to this group, send email to gamsworld@googlegroups.com.
To unsubscribe from this group, send email to gamsworld+unsubscribe@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/gamsworld?hl=en.



\

Babak Saleck Pay
Group of Industrial Engineering
M.Sc
Operations Research
University of Tehran
Tehran,Iran


To post to this group, send email to gamsworld@googlegroups.com.
To unsubscribe from this group, send email to gamsworld+unsubscribe@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/gamsworld?hl=en.

Thanks for the answer.

I want do make a constraint concerning to the sum of the 1s.
Therefore I need to count/sum them up.

The 1s are standing for a binary variable in each timestep. In the
example the set for time (t) is in the borders from 1-6.

\

If you want to find first consecutive 1s the following code will help you;
(i should be your set)

scalar iter /1/;
scalar count /0/;
scalar value;


while( (iter le card(i)),
value=Sum(i,K.l(i)$(ord(i)=iter));
if( value=1,
count=count+1;
else iter=card(i);
);
iter=iter+1;
);
display count;

Good luck.


Date: Tue, 30 Nov 2010 23:38:14 +0330
Subject: Re: How to count consecutive binary variables
From: bsaleckpay@gmail.com
To: gamsworld@googlegroups.com

Hi.
can you explain more,what exactly you want to do?
I have some thing in mind,maybe helpful.
you want to count number of 1s or just number of variables??



On Tue, Nov 30, 2010 at 10:22 PM, PowerM wrote:

Hi everyone,

i need some hints with counting consecutive binary values.

For Example I want to count the levels from K.1 till K.4

Level
K.1 1
K.2 1
K.3 1
K.4 1
K.5 0
K.6 1

The result should be 4. I am using MIP and K is a binary variable.

Thanks ind advance!!!


To post to this group, send email to gamsworld@googlegroups.com.
To unsubscribe from this group, send email to gamsworld+unsubscribe@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/gamsworld?hl=en.



\

Babak Saleck Pay
Group of Industrial Engineering
M.Sc
Operations Research
University of Tehran
Tehran,Iran

\

To post to this group, send email to gamsworld@googlegroups.com.
To unsubscribe from this group, send email to gamsworld+unsubscribe@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/gamsworld?hl=en.


To post to this group, send email to gamsworld@googlegroups.com.
To unsubscribe from this group, send email to gamsworld+unsubscribe@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/gamsworld?hl=en.

Thanks everyone for the help!!

I didn’t got a solution, but it is my fault since I haven’t provided
enough detail on the problem.

In the next time I will give the needed detail about the problem in a
new thread.

\

Hello Marian,

I wrote the code below. It finds consecutive 1s for each type of plants.

scalar iter /1/, iter2;
scalar value;
parameter count(KW);
count(KW)=0;

while( (iter le card(KW)),
iter2=1;
while( (iter2 le card(t)),
value=SUM(KW$(ord(KW)=iter),Sum(t$(ord(t)=iter2),K.l(KW,t)));
if( value=1,
count(KW)(ord(KW)=iter)=count(KW)(ord(KW)=iter)+1;
else iter2=card(t);
);
iter2=iter2+1;
);
iter=iter+1;
);


From: marian.hofer@yahoo.de
To: hak_kut@hotmail.com
Subject: AW: How to count consecutive binary variables
Date: Thu, 2 Dec 2010 09:19:19 +0100


Hello Hakan,



AN(KW,t) is the decision variable if a power plant is switched on in my unit commitment model.

KW ist standing for the set of different plant types and t is the set for the time steps in hours.



Then I want to count the duration, how long the Plant is switched on without switching off





Von: Hakan Kutucu [mailto:hak_kut@hotmail.com]
Gesendet: Mittwoch, 1. Dezember 2010 19:41
An: sic_marian@yahoo.de
Betreff: RE: How to count consecutive binary variables



Hello PowerM,

in your first message, the decision variable had just one dimension. But now, It has two dimensions. Can you identify the sets KW and t?
After solving the model you cant use decision variables without a suffix.

Date: Wed, 1 Dec 2010 07:37:20 -0800
Subject: Re: How to count consecutive binary variables
From: sic_marian@yahoo.de
To: hak_kut@hotmail.com

Hello Hakan,

I got an eror with your code.

This is the code I have used, since An(KW,t) is the binary variable I
would like to count.

while( (iter le card(t)),
value=Sum(t,An(KW,t)$(ord(t)=iter));
if( value=1,
count=count+1;
else iter=card(t);
);
iter=iter+1;
);
display count;

The error says: A suffix is missing at An(KW,t), I think because
An(KW,t) is a decision variable.

Got any clue, why I can’t count the decision variable?

Best regards

On 1 Dez., 09:25, Hakan Kutucu wrote:

If you want to find first consecutive 1s the following code will help you;
(i should be your set)

scalar iter /1/;
scalar count /0/;
scalar value;

while( (iter le card(i)),
value=Sum(i,K.l(i)$(ord(i)=iter));
if( value=1,
count=count+1;
else iter=card(i);
);
iter=iter+1;
);
display count;

Good luck.

Date: Tue, 30 Nov 2010 23:38:14 +0330
Subject: Re: How to count consecutive binary variables
From: bsaleck...@gmail.com
To: gamsworld@googlegroups.com

Hi.
can you explain more,what exactly you want to do?
I have some thing in mind,maybe helpful.
you want to count number of 1s or just number of variables??

On Tue, Nov 30, 2010 at 10:22 PM, PowerM wrote:

Hi everyone,

i need some hints with counting consecutive binary values.

For Example I want to count the levels from K.1 till K.4

   Level

K.1 1
K.2 1
K.3 1
K.4 1
K.5 0
K.6 1

The result should be 4. I am using MIP and K is a binary variable.

Thanks ind advance!!!


To post to this group, send email to gamsworld@googlegroups.com.
To unsubscribe from this group, send email to gamsworld+unsubscribe@googlegroups.com.
For more options, visit this group athttp://groups.google.com/group/gamsworld?hl=en.


Babak Saleck Pay
Group of Industrial Engineering
M.Sc
Operations Research
University of Tehran
Tehran,Iran


To post to this group, send email to gamsworld@googlegroups.com.
To unsubscribe from this group, send email to gamsworld+unsubscribe@googlegroups.com.
For more options, visit this group athttp://groups.google.com/group/gamsworld?hl=en.


To post to this group, send email to gamsworld@googlegroups.com.
To unsubscribe from this group, send email to gamsworld+unsubscribe@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/gamsworld?hl=en.