cerr1.gms : 원뿔 방정식 오류

설명

이 모델은 원뿔을 처리할 때 Cmex가 예상대로 오류를 생성하는지 확인합니다.
방정식. 우리가 원하는 오류는 다음과 같습니다:
- =C=에 대한 RHS는 0.0이어야 합니다.
- =C= 방정식은 크기를 조정할 수 없습니다.
- =C= 항목이 있는 변수는 연속적이어야 합니다.
- 변수가 둘 이상의 =C= 방정식을 입력합니다.

기여자: Lutz Westermann

소형 모델 유형 :슬롯


카테고리 : 슬롯 테스트 라이브러리


메인 파일 : cerr1.gms

$title 원뿔 방정식 오류(cerr1,SEQ=495)
$onText

이 모델은 원뿔을 처리할 때 Cmex가 예상대로 오류를 생성하는지 확인합니다.
방정식. 우리가 원하는 오류는 다음과 같습니다:
- =C=에 대한 RHS는 0.0이어야 합니다.
- =C= 방정식은 크기를 조정할 수 없습니다.
- =C= 항목이 있는 변수는 연속적이어야 합니다.
- 변수가 둘 이상의 =C= 방정식을 입력합니다.

기여자: Lutz Westermann

$offText

$onEcho > err.gms
n / n1*n4 / 설정;
매개변수 d(n), l(n), u(n);

d(n) = 균일(1,2);
l(n) = 균일(0.1,10);
u(n) = l(n) + 균일(0,12-l(n));

변수 x(n);
x.l(n) = 균일(l(n), u(n));

x.lo(n) = l(n);
x.up(n) = u(n);

변수 t(n), z(n), obj;
방정식 defobjc, cone(n);

defobjc..sum(n, d(n)*t(n)) =e= obj;
원뿔(n).. x(n) + t(n) =c= z(n) + 1;

모델 clp /all/;
lp를 사용하여 clp min obj를 해결합니다.
$offEcho

$call =슬롯 err.gms lo=%슬롯lo% lp=mosek
$errorlevel 1이 아닌 경우 $abort는 RHS <> 0으로 인해 오류가 발생해야 합니다.

$onEcho > err.gms
n / n1*n4 / 설정;
매개변수 d(n), l(n), u(n);

d(n) = 균일(1,2);
l(n) = 균일(0.1,10);
u(n) = l(n) + 균일(0,12-l(n));

변수 x(n);
x.l(n) = 균일(l(n), u(n));

x.lo(n) = l(n);
x.up(n) = u(n);

변수 t(n), z(n), obj;
방정식 defobjc, cone(n);

defobjc..sum(n, d(n)*t(n)) =e= obj;
원뿔(n).. x(n) + t(n) =c= z(n);

모델 clp /all/;
cone.scale(n) = 2;
lp를 사용하여 clp min obj를 해결합니다.
$offEcho

$call =슬롯 err.gms lo=%슬롯lo% lp=mosek
$errorlevel 1이 아닌 경우 $abort는 확장으로 인해 오류가 발생해야 합니다.

$onEcho > err.gms
n / n1*n4 / 설정;
매개변수 d(n), l(n), u(n);

d(n) = 균일(1,2);
l(n) = 균일(0.1,10);
u(n) = l(n) + 균일(0,12-l(n));

변수 x(n);
x.l(n) = 균일(l(n), u(n));

x.lo(n) = l(n);
x.up(n) = u(n);

변수 t(n), z(n), obj;
정수변수 t;
방정식 defobjc, cone(n);

defobjc..sum(n, d(n)*t(n)) =e= obj;
원뿔(n).. x(n) + t(n) =c= z(n);

모델 clp /all/;
mip를 사용하여 clp min obj를 해결합니다.
$offEcho

$call =슬롯 err.gms lo=%슬롯lo% mip=mosek
$if errorlevel 1 $abort는 정수 변수로 인해 오류가 발생해야 합니다.

$onEcho > err.gms
n / n1*n4 / 설정;
매개변수 d(n), l(n), u(n);

d(n) = 균일(1,2);
l(n) = 균일(0.1,10);
u(n) = l(n) + 균일(0,12-l(n));

변수 x(n);
x.l(n) = 균일(l(n), u(n));

x.lo(n) = l(n);
x.up(n) = u(n);

변수 t(n), z(n), obj;
방정식 defobjc, cone(n), cone2(n);

defobjc .. sum(n, d(n)*t(n)) =e= obj;
원뿔(n) .. x(n) + t(n) =c= z(n);
원뿔2(n).. x(n) + t(n) =c= z(n);

모델 clp /all/;
lp를 사용하여 clp min obj를 해결합니다.
$offEcho

$call =슬롯 err.gms lo=%슬롯lo% lp=mosek
$errorlevel 1이 아닌 경우 $abort는 둘 이상의 변수로 인해 오류가 발생해야 합니다 =c= 방정식