이 번역 페이지는 최신 내용을 담고 있지 않습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.
SecondOrderConeConstraint
설명
SecondOrderConeConstraint
는 다음과 같은 2차 원뿔 제약 조건을 나타냅니다.
A 행렬은 원뿔의 선형 인자를 나타냅니다.
b 벡터는 원뿔의 중심을 나타냅니다.
d 벡터는 선형 범위를 나타냅니다.
γ 스칼라는 범위를 나타냅니다.
coneprog
함수를 사용하여 2차 원뿔 제약 조건이 있는 문제를 풉니다.
생성
secondordercone
함수를 사용하여 SecondOrderConeConstraint
객체를 만듭니다.
속성
A
— 원뿔의 선형 인자
실수 행렬
원뿔의 선형 인자로, 실수 행렬로 지정됩니다.
데이터형: double
b
— 원뿔의 중심
실수형 벡터
원뿔의 중심으로, 실수형 벡터로 지정됩니다.
데이터형: double
d
— 선형 범위
실수형 벡터
선형 범위로, 실수형 벡터로 지정됩니다.
데이터형: double
gamma
— 범위
실수형 스칼라
범위로, 실수형 스칼라로 지정됩니다. gamma
의 값이 작을수록 제약 조건이 느슨해집니다.
데이터형: double
객체 함수
예제
단일 원뿔 제약 조건
2차 원뿔 제약 조건이 있는 문제를 설정하려면 2차 원뿔 제약 조건 객체를 만듭니다.
A = diag([1,1/2,0]); b = zeros(3,1); d = [0;0;1]; gamma = 0; socConstraints = secondordercone(A,b,d,gamma);
목적 함수 벡터를 만듭니다.
f = [-1,-2,0];
문제에 선형 제약 조건이 없습니다. 다음과 같이 제약 조건에 대해 빈 행렬을 만듭니다.
Aineq = []; bineq = []; Aeq = []; beq = [];
x(3)
의 상한과 하한을 설정합니다.
lb = [-Inf,-Inf,0]; ub = [Inf,Inf,2];
coneprog
함수를 사용하여 문제를 풉니다.
[x,fval] = coneprog(f,socConstraints,Aineq,bineq,Aeq,beq,lb,ub)
Optimal solution found.
x = 3×1
0.4851
3.8806
2.0000
fval = -8.2462
해 성분 x(3)
은 상한에 있습니다. 원뿔 제약 조건은 해에서 활성 상태입니다.
norm(A*x-b) - d'*x % Near 0 when the constraint is active
ans = -2.5677e-08
여러 원뿔 제약 조건
여러 2차 원뿔 제약 조건이 있는 문제를 설정하려면 제약 조건 객체로 구성된 배열을 만듭니다. 시간과 메모리를 절약하려면 먼저 가장 높은 인덱스 제약 조건을 만듭니다.
A = diag([1,2,0]); b = zeros(3,1); d = [0;0;1]; gamma = -1; socConstraints(3) = secondordercone(A,b,d,gamma); A = diag([3,0,1]); d = [0;1;0]; socConstraints(2) = secondordercone(A,b,d,gamma); A = diag([0;1/2;1/2]); d = [1;0;0]; socConstraints(1) = secondordercone(A,b,d,gamma);
선형 목적 함수 벡터를 만듭니다.
f = [-1;-2;-4];
coneprog
함수를 사용하여 문제를 풉니다.
[x,fval] = coneprog(f,socConstraints)
Optimal solution found.
x = 3×1
0.4238
1.6477
2.3225
fval = -13.0089
버전 내역
R2020b에 개발됨
MATLAB 명령
다음 MATLAB 명령에 해당하는 링크를 클릭했습니다.
명령을 실행하려면 MATLAB 명령 창에 입력하십시오. 웹 브라우저는 MATLAB 명령을 지원하지 않습니다.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)