ampl/tp087r2.mod


If Cut/Copy and Paste fails, then click here for download.


# Model tp087r2
# Source version 7
# Simple APM canonicalizer version 1.3
# AMPL backend version 1.1
param bv1 := 1.48477;
param bv2 := 1.48577;
param bv := bv1;
param ubx5hsv1 := 1000;
param ubx5hsv2 := 10000;
param ubx5hsv := ubx5hsv1;
param a := 131.078;
param b := bv;
param c := 0.90798;
param arg := 1.47588;
param d := cos(arg);
param e := sin(arg);
param ivx5hs := 198.175;
param lbx5hs := -1000;
param lbx5r := -18;
param lbx5 := lbx5r;
param ubx5hs := ubx5hsv;
param ubx5r := -10.7;
param ubx5 := ubx5r;
param ivx5 := (1/2)*(ivx5hs + ubx5 - abs(ivx5hs - ubx5));
param sign1_0 := 1;
param sign1_2 := -1;
param sign2_0 := 1;
param sign2_3 := -1;
var x_1 >= 0, <= 400;
let x_1 := 390;
var x_2 >= 0, <= 1000;
let x_2 := 1000;
var x_3 >= 340, <= 420;
let x_3 := 419.5;
var x_4 >= 340, <= 420;
let x_4 := 340.5;
var x_5 >= lbx5, <= ubx5;
let x_5 := ivx5;
var x_6 >= 0, <= 0.5236;
let x_6 := 0.5;
var x_7 >= 0, <= 300;
let x_7 := 0;
var x_8 >= 0, <= 300;
let x_8 := 90;
var x_9 >= 0, <= 900;
let x_9 := 0;
var x_10 >= 0, <= 900;
let x_10 := 900;
var x_11 >= 0, <= 800;
let x_11 := 0;
var x_12 >= 0, <= 800;
let x_12 := 800;
var x_13 >= -1, <= 1;
let x_13 := 1;
var x_14 >= -1, <= 1;
let x_14 := 1;
var x_15 >= -1, <= 1;
let x_15 := 1;
var cons_1 = 300 - x_1 - x_3*x_4*cos(b - x_6)/a + c*d*x_3^2/a;
var cons_2 = (-1)*x_2 - x_3*x_4*cos(b + x_6)/a + c*d*x_4^2/a;
var cons_3 = (-1)*x_5 - x_3*x_4*sin(b + x_6)/a + c*e*x_4^2/a;
var cons_4 = 200 - x_3*x_4*sin(b - x_6)/a + c*e*x_3^2/a;
var comp1_1 = x_1 - 300;
var comp2_1 = x_2 - 100;
var comp2_2 = x_2 - 200;
var comp1nnxa_1 = x_7;
var comp1nnxb_1 = x_8;
var comp2nnxa_1 = x_9;
var comp2nnxb_1 = x_10;
var comp2nnxa_2 = x_11;
var comp2nnxb_2 = x_12;
var cons_5 = comp1_1 + comp1nnxa_1 - comp1nnxb_1;
var cons_6 = comp2_1 + comp2nnxa_1 - comp2nnxb_1;
var cons_7 = comp2_2 + comp2nnxa_2 - comp2nnxb_2;
var comp1abs_1 = comp1nnxa_1 + comp1nnxb_1;
var comp2abs_1 = comp2nnxa_1 + comp2nnxb_1;
var comp2abs_2 = comp2nnxa_2 + comp2nnxb_2;
var sign1_1 = x_13;
var sign2_1 = x_14;
var sign2_2 = x_15;
var cons_8 = sign1_1*comp1abs_1 - comp1_1;
var cons_9 = sign2_1*comp2abs_1 - comp2_1;
var cons_10 = sign2_2*comp2abs_2 - comp2_2;
var step1_1 = (1 + sign1_0)*(1 - sign1_1)/4;
var step1_2 = (1 + sign1_1)*(1 - sign1_2)/4;
var step2_1 = (1 + sign2_0)*(1 - sign2_1)/4;
var step2_2 = (1 + sign2_1)*(1 - sign2_2)/4;
var step2_3 = (1 + sign2_2)*(1 - sign2_3)/4;
var f1_1 = 30*x_1;
var f1_2 = 31*x_1;
var f2_1 = 28*x_2;
var f2_2 = 29*x_2;
var f2_3 = 30*x_2;
var f1comb_1 = f1_1*step1_1;
var f1comb_2 = f1comb_1 + comp1nnxa_1*comp1nnxb_1 + f1_2*step1_2;
var f2comb_1 = f2_1*step2_1;
var f2comb_2 = f2comb_1 + comp2nnxa_1*comp2nnxb_1 + f2_2*step2_2;
var f2comb_3 = f2comb_2 + comp2nnxa_2*comp2nnxb_2 + f2_3*step2_3;
var mf = f1comb_2 + f2comb_3;
var myminfun = mf;
var myabsdevnod0_0 = abs(myminfun - 8853.5398913296);
var myreldevnod0_0 = abs(myminfun/8853.5398913296 - 1);
var myabsdevnod0_1 = abs(x_1 - 201.78466304432);
var myreldevnod0_1 = abs(x_1/201.78466304432 - 1);
var myabsdevnod0_2 = abs(x_2 - 100);
var myreldevnod0_2 = abs(x_2/100 - 1);
var myabsdevnod0_3 = abs(x_3 - 383.0709952729388);
var myreldevnod0_3 = abs(x_3/383.0709952729388 - 1);
var myabsdevnod0_4 = abs(x_4 - 420);
var myreldevnod0_4 = abs(x_4/420 - 1);
var myabsdevnod0_5 = abs(x_5 + 10.90760562936625);
var myreldevnod0_5 = abs(x_5/10.90760562936625 + 1);
var myabsdevnod0_6 = abs(x_6 - 0.07314814840034025);
var myreldevnod0_6 = abs(x_6/0.07314814840034025 - 1);
var myabsdevnod0_7 = abs(x_7 - 98.21533695567999);
var myreldevnod0_7 = abs(x_7/98.21533695567999 - 1);
var myabsdevnod0_8 = abs(x_8);
var myreldevnod0_8 = abs(x_8);
var myabsdevnod0_9 = abs(x_9);
var myreldevnod0_9 = abs(x_9);
var myabsdevnod0_10 = abs(x_10);
var myreldevnod0_10 = abs(x_10);
var myabsdevnod0_11 = abs(x_11 - 100);
var myreldevnod0_11 = abs(x_11/100 - 1);
var myabsdevnod0_12 = abs(x_12);
var myreldevnod0_12 = abs(x_12);
var myabsdevnod0_13 = abs(x_13 + 1);
var myreldevnod0_13 = abs(x_13 + 1);
var myabsdevnod0_14 = abs(x_14 + 1);
var myreldevnod0_14 = abs(x_14 + 1);
var myabsdevnod0_15 = abs(x_15 + 1);
var myreldevnod0_15 = abs(x_15 + 1);
var myabsdevnod1_0 = (1/2)*(abs(myabsdevnod0_0 - myabsdevnod0_1) + (myabsdevnod0_0 + myabsdevnod0_1));
var myreldevnod1_0 = (1/2)*(abs(myreldevnod0_0 - myreldevnod0_1) + (myreldevnod0_0 + myreldevnod0_1));
var myabsdevnod1_2 = (1/2)*(abs(myabsdevnod0_2 - myabsdevnod0_3) + (myabsdevnod0_2 + myabsdevnod0_3));
var myreldevnod1_2 = (1/2)*(abs(myreldevnod0_2 - myreldevnod0_3) + (myreldevnod0_2 + myreldevnod0_3));
var myabsdevnod1_4 = (1/2)*(abs(myabsdevnod0_4 - myabsdevnod0_5) + (myabsdevnod0_4 + myabsdevnod0_5));
var myreldevnod1_4 = (1/2)*(abs(myreldevnod0_4 - myreldevnod0_5) + (myreldevnod0_4 + myreldevnod0_5));
var myabsdevnod1_6 = (1/2)*(abs(myabsdevnod0_6 - myabsdevnod0_7) + (myabsdevnod0_6 + myabsdevnod0_7));
var myreldevnod1_6 = (1/2)*(abs(myreldevnod0_6 - myreldevnod0_7) + (myreldevnod0_6 + myreldevnod0_7));
var myabsdevnod1_8 = (1/2)*(abs(myabsdevnod0_8 - myabsdevnod0_9) + (myabsdevnod0_8 + myabsdevnod0_9));
var myreldevnod1_8 = (1/2)*(abs(myreldevnod0_8 - myreldevnod0_9) + (myreldevnod0_8 + myreldevnod0_9));
var myabsdevnod1_10 = (1/2)*(abs(myabsdevnod0_10 - myabsdevnod0_11) + (myabsdevnod0_10 + myabsdevnod0_11));
var myreldevnod1_10 = (1/2)*(abs(myreldevnod0_10 - myreldevnod0_11) + (myreldevnod0_10 + myreldevnod0_11));
var myabsdevnod1_12 = (1/2)*(abs(myabsdevnod0_12 - myabsdevnod0_13) + (myabsdevnod0_12 + myabsdevnod0_13));
var myreldevnod1_12 = (1/2)*(abs(myreldevnod0_12 - myreldevnod0_13) + (myreldevnod0_12 + myreldevnod0_13));
var myabsdevnod1_14 = (1/2)*(abs(myabsdevnod0_14 - myabsdevnod0_15) + (myabsdevnod0_14 + myabsdevnod0_15));
var myreldevnod1_14 = (1/2)*(abs(myreldevnod0_14 - myreldevnod0_15) + (myreldevnod0_14 + myreldevnod0_15));
var myabsdevnod2_0 = (1/2)*(abs(myabsdevnod1_0 - myabsdevnod1_2) + (myabsdevnod1_0 + myabsdevnod1_2));
var myreldevnod2_0 = (1/2)*(abs(myreldevnod1_0 - myreldevnod1_2) + (myreldevnod1_0 + myreldevnod1_2));
var myabsdevnod2_4 = (1/2)*(abs(myabsdevnod1_4 - myabsdevnod1_6) + (myabsdevnod1_4 + myabsdevnod1_6));
var myreldevnod2_4 = (1/2)*(abs(myreldevnod1_4 - myreldevnod1_6) + (myreldevnod1_4 + myreldevnod1_6));
var myabsdevnod2_8 = (1/2)*(abs(myabsdevnod1_8 - myabsdevnod1_10) + (myabsdevnod1_8 + myabsdevnod1_10));
var myreldevnod2_8 = (1/2)*(abs(myreldevnod1_8 - myreldevnod1_10) + (myreldevnod1_8 + myreldevnod1_10));
var myabsdevnod2_12 = (1/2)*(abs(myabsdevnod1_12 - myabsdevnod1_14) + (myabsdevnod1_12 + myabsdevnod1_14));
var myreldevnod2_12 = (1/2)*(abs(myreldevnod1_12 - myreldevnod1_14) + (myreldevnod1_12 + myreldevnod1_14));
var myabsdevnod3_0 = (1/2)*(abs(myabsdevnod2_0 - myabsdevnod2_4) + (myabsdevnod2_0 + myabsdevnod2_4));
var myreldevnod3_0 = (1/2)*(abs(myreldevnod2_0 - myreldevnod2_4) + (myreldevnod2_0 + myreldevnod2_4));
var myabsdevnod3_8 = (1/2)*(abs(myabsdevnod2_8 - myabsdevnod2_12) + (myabsdevnod2_8 + myabsdevnod2_12));
var myreldevnod3_8 = (1/2)*(abs(myreldevnod2_8 - myreldevnod2_12) + (myreldevnod2_8 + myreldevnod2_12));
var myabsdevnod4_0 = (1/2)*(abs(myabsdevnod3_0 - myabsdevnod3_8) + (myabsdevnod3_0 + myabsdevnod3_8));
var myreldevnod4_0 = (1/2)*(abs(myreldevnod3_0 - myreldevnod3_8) + (myreldevnod3_0 + myreldevnod3_8));
var zmyabsdevmax = myabsdevnod4_0;
var zmyreldevmax = myreldevnod4_0;
minimize obj: myminfun;
subject to ce_1: cons_1 = 0;
subject to ce_2: cons_2 = 0;
subject to ce_3: cons_3 = 0;
subject to ce_4: cons_4 = 0;
subject to ce_5: cons_5 = 0;
subject to ce_6: cons_6 = 0;
subject to ce_7: cons_7 = 0;
subject to ce_8: cons_8 = 0;
subject to ce_9: cons_9 = 0;
subject to ce_10: cons_10 = 0;
solve;
display x_1;
display x_2;
display x_3;
display x_4;
display x_5;
display x_6;
display x_7;
display x_8;
display x_9;
display x_10;
display x_11;
display x_12;
display x_13;
display x_14;
display x_15;
display myminfun;
display zmyabsdevmax;
display zmyreldevmax;
# End Model

Stephan K.H. Seidl