125 demand =
new double[T];
135 consttdeq =
new int[T];
136 constseq =
new int[T];
137 constcseq =
new int[T];
138 constdeq =
new int[T];
139 constreq =
new int[T];
140 constdrev =
new int[T];
141 hessianstart =
new int[T];
146 for (
int t = 0; t < T; t++) {
147 demand[t] = 1.0 + 2.3 * Math.pow(1.015, t);
152 for (
int t = 0; t < T; t++) {
187 if (
xkeep.length > 0) {
188 for (
int i = 0; i <
xkeep.length; i++) {
219 for (
int i = 0; i < xstat.length; i++) {
241 double[] objcoeff =
new double[T];
242 int[] objnlflag =
new int[T];
244 for (
int t = 0; t < T; ++t) {
245 objcoeff[t] = Math.pow(1.05, 1 - (t + 1));
252 for (
int t = 0; t < T; t++) {
257 int[] index = {vartd[t], varp[t]};
258 double[] value = {1.0, 0.13};
259 int[] nlflag = {0, 0};
265 int[] index = {vartd[t], vartd[t - 1], varp[t]};
266 double[] value = {1.0, -0.87, 0.13};
267 int[] nlflag = {0, 0, 0};
271 consttdeq[t] = considx;
276 int[] index = {vars[t], varp[t], varcs[t]};
277 double[] value = {1.0, 0.0, 0.0};
278 int[] nlflag = {0, 1, 1};
284 int[] index = {vars[t], vars[t - 1], varp[t], varcs[t]};
285 double[] value = {1.0, -0.75, 0.0, 0.0};
286 int[] nlflag = {0, 0, 1, 1};
290 constseq[t] = considx;
291 consmapping.putIfAbsent(considx,
new IntPair(CONS_SEQ, t));
296 int[] index = {varcs[t], vars[t]};
297 double[] value = {1.0, -1.0};
298 int[] nlflag = {0, 0};
304 int[] index = {varcs[t], varcs[t - 1], vars[t]};
305 double[] value = {1.0, -1.0, -1.0};
306 int[] nlflag = {0, 0, 0};
310 constcseq[t] = considx;
314 int[] index = {vard[t], vartd[t], vars[t]};
315 double[] value = {1.0, -1.0, 1.0};
316 int[] nlflag = {0, 0, 0};
319 constdeq[t] = considx;
324 int[] index = {varr[t], vard[t]};
325 double[] value = {1.0, 1.0};
326 int[] nlflag = {0, 0};
332 int[] index = {varr[t], varr[t - 1], vard[t]};
333 double[] value = {1.0, -1.0, 1.0};
334 int[] nlflag = {0, 0, 0};
338 constreq[t] = considx;
342 int[] index = {varrev[t], vard[t], varp[t], varr[t]};
343 double[] value = {1.0, 0.0, 0.0, 0.0};
344 int[] nlflag = {0, 1, 1, 1};
347 constdrev[t] = considx;
348 consmapping.putIfAbsent(considx,
new IntPair(CONS_DREV, t));
352 if (estat.length > 0) {
354 for (
int i = 0; i < estat.length; i++) {
379 int[] hsrow =
new int[T * 5];
380 int[] hscol =
new int[T * 5];
383 for (
int t = 0; t < T; ++t) {
384 hessianstart[t] = idx;
387 hscol[idx] = varcs[t];
388 hsrow[idx] = varcs[t];
392 hscol[idx] = varcs[t];
393 hsrow[idx] = varp[t];
397 hscol[idx] = vard[t];
398 hsrow[idx] = varr[t];
402 hscol[idx] = vard[t];
403 hsrow[idx] = varp[t];
407 hscol[idx] = varr[t];
408 hsrow[idx] = varr[t];