Fiat : Analysis of Stability Margin of Spark Ignition Engine Fiat Dedra

Reference

• Neculai Andrei, Nonlinear Optimization Applications Using the GAMS Technology,Springer Optimization and Its Applications, Model Fiat (11.5) in chapter Robust Stability Analysis , 2013

Category : GAMS NOA library

Mainfile : fiat.gms

``````\$ONTEXT
Analysis of the stability margin of the spark ignition engine
Fiat Dedra.

References:
B.R. Barmish, New tools for robustness of linear systems.
McMillan Publishing Company, New York, 1994.

M. Abate, B. Barmish, C. Murillo-Sanchez, R. Tempo, Application of
some new tools to robust stability analysis of spark ignition engines:
A case study. IEEE Trans. Contr. syst. tech., vol.2, 1994, pp. 22.

Neculai Andrei, "Models, Test Problems and Applications for
Mathematical Programming". Technical Press, Bucharest, 2003.
Application A41, page 407.

Floudas, C.A., Pardalos, P.M., et al. "Handbook of Test Problems in
Local and Global Optimization". Kluwer Academic Publishers, Dordrecht,
1999.
Problem 7.3.6. Test problem 16, page 103.
\$OFFTEXT

VARIABLES
q1, q2, q3, q4, q5, q6, q7
w   frequency
k   stability margin
a0, a1, a2, a3, a4, a5, a6, a7
objval    objective function variable;

FREE VARIABLES    objval;

EQUATIONS
f Objective function
g1
g2
b1l, b1u
b2l, b2u
b3l, b3u
b4l, b4u
b5l, b5u
b6l, b6u
b7l, b7u
ga0, ga1, ga2, ga3, ga4, ga5, ga6, ga7  ;

f  .. objval =e=k;

g1  .. -a6*POWER(w,6) + a4*POWER(w,4) - a2*POWER(w,2) + a0 =e= 0;
g2  .. a7*POWER(w,6) - a5*POWER(w,4) + a3*POWER(w,2) - a1 =e= 0;

b1l  .. 3.4329-1.02721*k =l= q1;
b1u  .. q1 =l= 3.4320+1.02721*k;
b2l  .. 0.1627-0.06*k =l= q2;
b2u  .. q2 =l= 0.1627+0.06*k;
b3l  .. 0.1139-0.0782*k =l= q3;
b3u  .. q3 =l= 0.1139+0.0782*k;
b4l  .. 1.2539-0.3068*k =l= q4;
b4u  .. q4 =l= 1.2539+0.3068*k;
b5l  .. 0.0208-0.0108*k =l= q5;
b5u  .. q5 =l= 0.0208+0.08*k;
b6l  .. 5.0247-2.4715*k =l= q6;
b6u  .. q6 =l= 5.0247+2.4715*k;
b7l  .. 1.0-2*k =l= q7;
b7u  .. q7 =l= 1.0+2*k;

ga0  .. a0 =e= 6.82079e-05*q1*q3*POWER(q4,2) + 6.82079e-05*q1*q2*q4*q5;

ga1  .. a1 =e= 0.00076176*POWER(q2,2)*POWER(q5,2) +
0.00076176*POWER(q3,2)*POWER(q4,2) +
0.000402141*q1*q2*POWER(q5,2) +
0.00337606*q1*q3*POWER(q4,2) +
6.82079e-05*q1*q4*q5 + 0.00051612*POWER(q2,2)*q5*q6 +
0.00337606*q1*q2*q4*q5 + 6.82079e-05*q1*q2*q4*q7 +
6.28987e-05*q1*q2*q5*q6 + 0.000402141*q1*q3*q4*q5 +
6.28987e-05*q1*q3*q4*q6 + 0.00152352*q2*q3*q4*q5 +
0.00051612*q2*q3*q4*q6;

ga2  .. a2 =e= 0.000402141*q1*POWER(q5,2) + 0.00152352*q2*POWER(q5,2) +
0.0552*POWER(q2,2)*POWER(q5,2) +
0.0552*POWER(q3,2)*POWER(q4,2) +
0.0189477*q1*q2*POWER(q5,2) + 0.034862*q1*q3*POWER(q4,2) +
0.00336706*q1*q4*q5 + 6.82079e-05*q1*q4*q7 +
6.28987e-05*q1*q5*q6 + 0.00152352*q3*q4*q5 +
0.00051612*q3*q4*q6 - 0.00234048*POWER(q3,2)*q4*q6 +
0.034862*q1*q2*q4*q5 + 0.0237398*POWER(q2,2)*q5*q6 +
0.00152352*POWER(q2,2)*q5*q7 +
0.00051612*POWER(q2,2)*q6*q7 +
0.00336706*q1*q2*q4*q7 + 0.00287416*q1*q2*q5*q6 +
0.000804282*q1*q2*q5*q7 + 6.28987e-05*q1*q2*q6*q7 +
0.0189477*q1*q3*q4*q5 + 0.00287416*q1*q3*q4*q6 +
0.000402141*q1*q3*q4*q7 + 0.1104*q2*q3*q4*q5 +
0.0237398*q2*q3*q4*q6 + 0.00152352*q2*q3*q4*q7 -
0.00234048*q2*q3*q5*q6 + 0.00103224*q2*q5*q6;

ga3  .. a3 =e= 0.189477*q1*POWER(q5,2) + 0.1104*q2*POWER(q5,2) +
0.00051612*q5*q6 + POWER(q2,2)*POWER(q5,2) +
0.00076176*POWER(q2,2)*POWER(q7,2) +
POWER(q3,2)*POWER(q4,2) +
0.1586*q1*q2*POWER(q5,2) + 0.000402141*q1*q2*POWER(q7,2) +
0.0872*q1*q3*POWER(q4,2) + 0.034862*q1*q4*q5 +
0.00336706*q1*q4*q7 + 0.00287416*q1*q5*q6 +
6.28987e-05*q1*q6*q7 + 0.00103224*q2*q6*q7 +
0.1104*q3*q4*q5 +
0.0237398*q3*q4*q6 + 0.00152352*q3*q4*q7 -
0.00234048*q3*q5*q6 +
0.1826*POWER(q2,2)*q5*q6 + 0.1104*POWER(q2,2)*q5*q7 +
0.0237398*POWER(q2,2)*q6*q7 - 0.0848*POWER(q3,2)*q4*q6 +
0.0872*q1*q2*q4*q5 + 0.034862*q1*q2*q4*q7 +
0.0215658*q1*q2*q5*q6 + 0.0378954*q1*q2*q5*q7 +
0.00287416*q1*q2*q6*q7 + 0.1586*q1*q3*q4*q5 +
0.0215658*q1*q3*q4*q6 + 0.0189477*q1*q3*q4*q7 +
2*q2*q3*q4*q5 + 0.1826*q2*q3*q4*q6 + 0.1104*q2*q3*q4*q7 -
0.0848*q2*q3*q5*q6 - 0.00234048*q2*q3*q6*q7 +
0.00076176*POWER(q5,2) + 0.0474795*q2*q5*q6 +
0.000804282*q1*q5*q7 + 0.00304704*q2*q5*q7;

ga4  .. a4 =e= 0.1586*q1*POWER(q5,2) + 0.000402141*q1*POWER(q7,2) +
2*q2*POWER(q5,2) + 0.00152352*q2*POWER(q7,2) +
0.0237398*q5*q6 +
0.00152352*q5*q7 + 0.00051612*q6*q7 +
0.0552*POWER(q2,2)*POWER(q7,2) +
0.0189477*q1*q2*POWER(q7,2) +
0.0872*q1*q4*q5 + 0.034862*q1*q4*q7 + 0.0215658*q1*q5*q6 +
0.00287416*q1*q6*q7 + 0.0474795*q2*q6*q7 + 2*q3*q4*q5 +
0.1826*q3*q4*q6 + 0.1104*q3*q4*q7 - 0.0848*q3*q5*q6 -
0.00234048*q3*q6*q7 + 2*POWER(q2,2)*q5*q7 +
0.1826*POWER(q2,2)*q6*q7 + 0.0872*q1*q2*q4*q7 +
0.3172*q1*q2*q5*q7 + 0.0215658*q1*q2*q6*q7 +
0.1586*q1*q3*q4*q7 + 2*q2*q3*q4*q7 - 0.0848*q2*q3*q6*q7 +
0.0552*POWER(q5,2) + 0.3652*q2*q5*q6 + 0.0378954*q1*q5*q7 +
0.2208*q2*q5*q7;

ga5  .. a5 =e= 0.0189477*q1*POWER(q7,2) + 0.1104*q2*POWER(q7,2) +
0.1826*q5*q6 + 0.1104*q5*q7 + 0.0237398*q6*q7 +
POWER(q2,2)*POWER(q7,2) + 0.1586*q1*q2*POWER(q7,2) +
0.0872*q1*q4*q7 + 0.0215658*q1*q6*q7 + 0.3652*q2*q6*q7 +
2*q3*q4*q7 - 0.0848*q3*q6*q7 + POWER(q5,2) +
0.00076176*POWER(q7,2) + 0.3172*q1*q5*q7 + 4*q2*q5*q7;

ga6  .. a6 =e= 0.1586*q1*POWER(q7,2) + 2*q2*POWER(q7,2) + 2*q5*q7 +
0.1826*q6*q7 + 0.0552*POWER(q7,2);

ga7  .. a7 =e= POWER(q7,2);

* Bounds
*q1.UP = 3.4329;
*q2.UP = 0.1627;
*q3.UP = 0.1139;
*q4.LO = 0.2539;
*q5.UP = 0.0208;
*q6.LO = 2.0247;
*q7.LO = 1;
w.LO = 0;
w.UP = 10;
k.LO = 0;
k.UP = 10;

* Initial point
q1.l=0.2;
q2.l=0.02;
q3.l=0.1;
q4.l=0.3;
q5.l=0;
q6.l=2;
q7.l=4.5;
w.l=0;
k.l=2;

MODEL fiat /ALL/;

SOLVE fiat USING NLP MINIMIZING objval;
* End Fiat
``````
GAMS Development Corp.
GAMS Software GmbH

General Information and Sales
U.S. (+1) 202 342-0180
Europe: (+49) 221 949-9170