160 demand =
new double[T];
170 consttdeq =
new int[T];
171 constseq =
new int[T];
172 constcseq =
new int[T];
173 constdeq =
new int[T];
174 constreq =
new int[T];
175 constdrev =
new int[T];
176 hessianstart =
new int[T];
181 for (
int t = 0; t < T; t++) {
182 demand[t] = 1.0 + 2.3 * Math.pow(1.015, t);
187 for (
int t = 0; t < T; t++) {
222 if (
xkeep.length > 0) {
223 for (
int i = 0; i <
xkeep.length; i++) {
254 for (
int i = 0; i < xstat.length; i++) {
276 double[] objcoeff =
new double[T];
277 int[] objnlflag =
new int[T];
279 for (
int t = 0; t < T; ++t) {
280 objcoeff[t] = Math.pow(1.05, 1 - (t + 1));
287 for (
int t = 0; t < T; t++) {
292 int[] index = {vartd[t], varp[t]};
293 double[] value = {1.0, 0.13};
294 int[] nlflag = {0, 0};
300 int[] index = {vartd[t], vartd[t - 1], varp[t]};
301 double[] value = {1.0, -0.87, 0.13};
302 int[] nlflag = {0, 0, 0};
306 consttdeq[t] = considx;
311 int[] index = {vars[t], varp[t], varcs[t]};
312 double[] value = {1.0, 0.0, 0.0};
313 int[] nlflag = {0, 1, 1};
319 int[] index = {vars[t], vars[t - 1], varp[t], varcs[t]};
320 double[] value = {1.0, -0.75, 0.0, 0.0};
321 int[] nlflag = {0, 0, 1, 1};
325 constseq[t] = considx;
326 consmapping.putIfAbsent(considx,
new IntPair(CONS_SEQ, t));
331 int[] index = {varcs[t], vars[t]};
332 double[] value = {1.0, -1.0};
333 int[] nlflag = {0, 0};
339 int[] index = {varcs[t], varcs[t - 1], vars[t]};
340 double[] value = {1.0, -1.0, -1.0};
341 int[] nlflag = {0, 0, 0};
345 constcseq[t] = considx;
349 int[] index = {vard[t], vartd[t], vars[t]};
350 double[] value = {1.0, -1.0, 1.0};
351 int[] nlflag = {0, 0, 0};
354 constdeq[t] = considx;
359 int[] index = {varr[t], vard[t]};
360 double[] value = {1.0, 1.0};
361 int[] nlflag = {0, 0};
367 int[] index = {varr[t], varr[t - 1], vard[t]};
368 double[] value = {1.0, -1.0, 1.0};
369 int[] nlflag = {0, 0, 0};
373 constreq[t] = considx;
377 int[] index = {varrev[t], vard[t], varp[t], varr[t]};
378 double[] value = {1.0, 0.0, 0.0, 0.0};
379 int[] nlflag = {0, 1, 1, 1};
382 constdrev[t] = considx;
383 consmapping.putIfAbsent(considx,
new IntPair(CONS_DREV, t));
387 if (estat.length > 0) {
389 for (
int i = 0; i < estat.length; i++) {
414 int[] hsrow =
new int[T * 5];
415 int[] hscol =
new int[T * 5];
418 for (
int t = 0; t < T; ++t) {
419 hessianstart[t] = idx;
422 hscol[idx] = varcs[t];
423 hsrow[idx] = varcs[t];
427 hscol[idx] = varcs[t];
428 hsrow[idx] = varp[t];
432 hscol[idx] = vard[t];
433 hsrow[idx] = varr[t];
437 hscol[idx] = vard[t];
438 hsrow[idx] = varp[t];
442 hscol[idx] = varr[t];
443 hsrow[idx] = varr[t];