42 adding the variables and constraints to the model
43 @ingroup PYTHON1THREAD_PINDYCK
46 demand = [1.0 + 2.3 * pow(1.015, t)
for t
in range(self.
T)]
49 for t
in range(self.
T):
51 varidx = self.addVariable(0, co.Conopt.Infinity, 18)
52 self.
vartd.append(varidx)
55 varidx = self.addVariable(0, co.Conopt.Infinity, 7 * (t + 1))
56 self.
varcs.append(varidx)
59 varidx = self.addVariable(0, co.Conopt.Infinity, 7)
60 self.
vars.append(varidx)
63 varidx = self.addVariable(
66 self.getVariable(self.
vartd[t]).curr
67 - self.getVariable(self.
vars[t]).curr,
69 self.
vard.append(varidx)
73 varidx = self.addVariable(
76 self.getVariable(self.
varr[t - 1]).curr
77 - self.getVariable(self.
vard[t]).curr,
80 varidx = self.addVariable(
83 500 - self.getVariable(self.
vard[t]).curr,
85 self.
varr.append(varidx)
88 varidx = self.addVariable(1, co.Conopt.Infinity, 14)
89 self.
varp.append(varidx)
92 varidx = self.addVariable(-co.Conopt.Infinity, co.Conopt.Infinity)
96 objcoeff = [pow(1.05, 1 - (t + 1))
for t
in range(self.
T)]
97 objnlflag = [0] * self.
T
98 objidx = self.addConstraint(
99 co.ConstraintType_Free, 0.0, self.
varrev, objcoeff, objnlflag
103 for t
in range(self.
T):
106 co.ConstraintType_Eq,
107 demand[t] + 0.87 * 18.0,
114 co.ConstraintType_Eq,
122 considx = self.addConstraint(
123 co.ConstraintType_Eq,
130 considx = self.addConstraint(
131 co.ConstraintType_Eq,
139 [1.0, -0.75, 0.0, 0.0],
146 co.ConstraintType_Eq,
154 co.ConstraintType_Eq,
162 co.ConstraintType_Eq,
171 co.ConstraintType_Eq,
179 co.ConstraintType_Eq,
186 considx = self.addConstraint(
187 co.ConstraintType_Eq,
190 [1.0, 0.0, 0.0, 0.0],
196 self.setObjectiveElement(co.ObjectiveElement_Constraint, objidx)
199 self.setOptimizationSense(co.Sense_Maximize)