Hello,

I am very new to GAMS so I still have a lot to learn. I was hoping

someone could help me with this problem.

I have a table S(i,j) and I want this table multiplied by V(j) to

equal to 0 for each i. so far I have;

sum((i,j),S(i,j)*V(j))=e=0

however this sums all i’s. Below is my actual code, as I mentioned, I

am very new so it may be a little weak.

Overall, the goal is to solve

max each Vj individually

Sum(Sij*Vj) = 0

j

Sum(Gij*Vj) < 0

j

Any help would be very much appreciated!

Rance

Sets i metabolites / Amet, Bmet /

j reactions / upA, AB1, AB2, exB /

e efm / efm1, efm2 /

Table S(i,j) Stoichiometry

upA AB1 AB2 exB

Amet 1 -1 -1 0

Bmet 0 1 1 -1 ;

Table G(e,j) Elementary

upA AB1 AB2 exB

efm1 -1 -1 -1 -1

efm2 -1 -1 -1 -1 ;

Parameter U(j)

/upA = 100

AB1 = 100

AB2 = 100

exB = 100/;

Parameter L(j)

/upA = -100

AB1 = -100

AB2 = -100

exB = -100/;

Parameter O(j)

/upA = 1

AB1 = 0

AB2 = 0

exB = 0/;

Variable obje, V(j);

v.up[j] = U(j); v.lo[j] = L(j);

Equation Stoke, Mode, goal;

Stoke…sum((i,j),S(i,j)*V(j))=e=0;

Mode…sum((e,j),G(e,j)*V(j))=l=0;

goal…sum((j),O(j)*V(j))=e=obje;

Model flux /all/;

solve flux maximize obje using LP;

\