참조
카테고리 : 무료 슬롯 NOA 라이브러리
메인파일 : lathe.gms
$onText
멀티 스핀들 자동 선반의 최적화.
Schittkowski, K., 비선형 프로그래밍 코드에 대한 추가 테스트 예제.
경제 및 수학 시스템 강의 노트, Springer-Verlag,
베를린, 1987. (문제 376, pp. 195)
$offText
변수 x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, obj;
방정식 e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12,
e13,e14,e15, eobj;
* 최소화할 목적 함수:
eobj..obj =e= -20000*(0.15*x1+14*x2-0.06)/(0.002+x1+60*x2);
* 제약:
e1.. x1 - 0.75/(x3*x4) =g= 0;
e2.. x1 - x9/(x4*x5) =g= 0;
e3.. x1 - x10/(x4*x6) - 10/x4 =g= 0;
e4.. x1 - 0.19/(x4*x7) - 10/x4 =g= 0;
e5.. x1 - 0.125/(x4*x8) =g= 0;
e6.. 10000*x2 - 0.00131*x9*(x5**0.666)*(x4**1.5) =g= 0;
e7.. 10000*x2 - 0.001038*x10*(x6**1.6)*(x4**3) =g= 0;
e8.. 10000*x2 - 0.000223*(x7**0.666)*(x4**1.5) =g= 0;
e9.. 10000*x2 - 0.000076*(x8**3.55)*(x4**5.66) =g= 0;
e10.. 10000*x2 - 0.000698*(x3**1.2)*(x4**2) =g= 0;
e11.. 10000*x2 - 0.00005*(x3**1.6)*(x4**3) =g= 0;
e12.. 10000*x2 - 0.00000654*(x3**2.42)*(x4**4.17) =g= 0;
e13.. 10000*x2 - 0.000257*(x3**0.666)*(x4**1.5) =g= 0;
e14.. 30 - 2.003*x4*x5 - 1.885*x4*x6 - 0.184*x4*x8 -
2*x4*(x3**0.803) =g= 0;
e15.. x9 + x10 - 0.255 =e= 0;
* 변수의 한계;
x1.lo = 0; x1.up = 10;
x2.lo = 0; x2.up = 0.1;
x3.lo = 0.5e-4; x3.up = 0.0081;
x4.lo = 10; x4.up = 1000;
x5.lo = 0.5e-4; x5.up = 0.0017;
x6.lo = 0.5e-4; x6.up = 0.0013;
x7.lo = 0.5e-4; x7.up = 0.0027;
x8.lo = 0.5e-4; x8.up = 0.002;
x9.lo = 0.5e-4; x9.up = 1;
x10.lo = 0.5e-4; x10.up = 1;
모형 선반 /all/;
nlp를 사용하여 obj를 최소화하는 선반을 해결합니다.
$ifThenI x%mode%==xbook
/lathe1.dat/ 파일을 작성하세요.
내놔;
x1.l:15:7, x2.l:15:7, x3.l:15:7, x4.l:15:7 /;
x5.l:15:7, x6.l:15:7, x7.l:15:7, x8.l:15:7 /;
넣어 x9.l:15:7, x10.l:15:7 /;
put /"Objective =" obj.l:15:7 /;
$endIf
* 선반 끝