설명
이 모델은 원뿔을 처리할 때 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= 방정식