|
From: | Michael Hennebry |
Subject: | Re: [Help-glpk] power of: calculate 2^x from variable x |
Date: | Wed, 8 Jun 2011 09:28:42 -0500 (CDT) |
User-agent: | Alpine 1.00 (DEB 882 2007-12-20) |
On Tue, 7 Jun 2011, malekro wrote:
i am trying to calculate 2^x from a variable x. i already spent several hours and with the help of archived posts i thought i have the solution. unfortunately i cannot figure out why the code below returns an empty result or malforms the x variable, i think the idea is correct. set R := {0..3}; set C := {0..2}; # the given numbers that need to be powered by 2 var x{R}, integer; # temporary table, each row will later be used for multiplication with 2^c var t{R,C}, binary; # the desired solution 2^x var s{R}, integer; # set the x-th cell in temporary row to 1, rest 0 s.t. c1{r in R}: sum{c in C} t[r,c] = 1; # exactly one 1 in row s.t. c3{r in R, c in C}: c * t[r,c] = x[r]; # set the x[r]-th cell to 1
|R|*|C| constraints with two terms each. Probably not what you want. Drop them and the rest should be sufficient.
s.t. c2{r in R}: sum{c in C} c * t[r,c] = x[r]; # verification so t[r,0] != 1 if x[r] > 0 # multiply the c-th cell of the temporary row with 2^c s.t. c4{r in R}: s[r] = sum{c in C} (2 ** c) * t[r,c];
-- Michael address@hidden "Pessimist: The glass is half empty. Optimist: The glass is half full. Engineer: The glass is twice as big as it needs to be."
[Prev in Thread] | Current Thread | [Next in Thread] |