설명
n개의 선형 탄성 막대 구조는 m개의 노드 세트를 연결합니다.
작업은 막대의 크기를 결정하는 것입니다. 즉, 볼륨 t(i)를 결정합니다.
제약 조건에 따라 가장 견고한 트러스를 생성하는 철근
총 중량 제한 및 k개의 다른(비동시) 로딩 등
만족할 수 있는 시나리오. 예를 들어, 다양한 부하 시나리오
교량의 경우 러시아워 교통, 야간 교통, 지진이 포함될 수 있습니다.
그리고 옆바람.
모델은 원뿔형 프로그램으로 제공됩니다. 콘 구현이 온다
Ben-Tal과 Nemirovski로부터.
n개의 막대와 m개의 노드로 구성된 트러스가 있다고 가정합니다. 이제 다음 세트를 고려해보세요.
k는 외부에서 적용된 절점력 f(k)=[f1, .., fn]을 고정했습니다.
d_i는 힘으로 인한 작은 노드 변위를 나타냅니다.
각 노드 i. 트러스의 강성을 극대화하는 것이 목적이며,
이는 탄성 저장 에너지 0.5*f^T*d를 최소화하는 것과 같습니다.
트러스의 최대 볼륨 제한이 적용됩니다.
Ben-Tal 및 Nemirovski(2001)에 제공된 공식을 사용하여 다음을 수행할 수 있습니다.
이것을 2차 원뿔 문제로 모델링합니다.
타우를 최소화하다
대상
합계(i, t(i)) <= 최대 볼륨
s(i,k)^2 <= 2*t(i)*시그마(i,k)
합계(i, 시그마(i,k)) <= 타우
합(i,k) s(i,k)*b(i)) <= f(k)
첫 번째 제약은 재료의 양 제한입니다. 후자 3
제약 조건과 목표는 준수 제약 조건입니다.
주어진 조건 하에서 탄성 위치 에너지를 최소화하는 것과 같습니다.
로드.
소형 모델 유형 :QCP
카테고리 : 크레이지 슬롯 모델 라이브러리
메인 파일 : trussm.gms
$title 다중 로드를 사용한 트러스 토폴로지 설계(TRUSSM,SEQ=432)
$onText
n개의 선형 탄성 막대 구조가 m개의 노드 세트를 연결합니다.
작업은 막대의 크기를 결정하는 것입니다. 즉, 볼륨 t(i)를 결정합니다.
제약 조건에 따라 가장 견고한 트러스를 생성하는 철근
총 중량 제한 및 k개의 다른(비동시) 로딩 등
만족할 수 있는 시나리오. 예를 들어, 다양한 부하 시나리오
교량의 경우 러시아워 교통, 야간 교통, 지진이 포함될 수 있습니다.
그리고 옆바람.
모델은 원뿔형 프로그램으로 제공됩니다. 콘 구현이 온다
Ben-Tal과 Nemirovski로부터.
n개의 막대와 m개의 노드로 구성된 트러스가 있다고 가정합니다. 이제 다음 세트를 고려해보세요.
k는 외부에서 적용된 절점력 f(k)=[f1, .., fn]을 고정했습니다.
d_i는 힘으로 인한 작은 노드 변위를 나타냅니다.
각 노드 i. 트러스의 강성을 극대화하는 것이 목적이며,
이는 탄성 저장 에너지 0.5*f^T*d를 최소화하는 것과 같습니다.
트러스의 최대 볼륨 제한이 적용됩니다.
Ben-Tal 및 Nemirovski(2001)에 제공된 공식을 사용하여 다음을 수행할 수 있습니다.
이것을 2차 원뿔 문제로 모델링합니다.
타우를 최소화하다
대상
합계(i, t(i)) <= 최대 볼륨
s(i,k)^2 <= 2*t(i)*시그마(i,k)
합계(i, 시그마(i,k)) <= 타우
합(i,k) s(i,k)*b(i)) <= f(k)
첫 번째 제약은 재료의 양 제한입니다. 후자 3
제약 조건과 목표는 준수 제약 조건입니다.
주어진 조건 하에서 탄성 위치 에너지를 최소화하는 것과 같습니다.
로드.
A. Ben-Tal 및 A. Nemirovski, 현대 볼록 최적화 강의:
분석, 알고리즘 및 엔지니어링 애플리케이션, MPS/SIAM 시리즈
최적화에 관해, SIAM Press, 2001.
MS Lobo, L. Vandenberghe, S. Boyd 및 H. Lebret, "응용 프로그램
2차 원뿔 프로그래밍', 선형대수학 및 그 응용,
제어, 신호 및 이미지 처리 분야의 선형 대수학 특별호.
284(1998) 193-228.
$offText
i "바" 설정 /i1*i5/
j "노드" /j1*j4/
k "로드 시나리오" /k1*k3/;
표 f(j,k) "노드 j의 시나리오 k에 대한 노드 힘"
k1 k2 k3
j1 0.0008 1.0668 0.2944
j2 0.0003 0.0593 -1.3362
j3 -0.0006 -0.0956 0.7143
j4 -1.0003 -0.8323 1.6236;
표 b(j,i) "막대 i의 강성 매개변수"
i1 i2 i3 i4 i5
j1 1.0 0 0.5 0 0
j2 0 0 -0.5 -1.0 0
j3 0 0.5 0 0 1.0
j4 0 0.5 0 1.0 0;
스칼라
maxvolume "최대 트러스 볼륨" /10/;
변수
타우 "객관적"
s(i,k) "하중 시나리오 k에서 철근 i에 대한 응력(연신율과 철근의 단면적)";
긍정적인 변수
tk(i,k) "하중 시나리오 k에서 트러스 바 i의 부피"
t(i) "트러스바의 부피 i"
sigma(i,k) "하중 k를 받는 막대 i의 필요한 단면적";
방정식
Volumeeq(i,k) "볼륨 t를 계산합니다"
deftk(i,k) "원뿔이 분리되도록 tk 할당"
reseq(k) "트러스에 대한 자원 제한"
trusscomp "트러스 준수"
Stiffness(j,k) "하중 k를 받는 막대 j의 강성 요구 사항";
* 원뿔형 변수는 한 번만 발생할 수 있습니다. 즉, 원뿔형이 분리되어 있습니다.
볼륨eq(i,k).. 2*tk(i,k)*sigma(i,k) =G= sqr(s(i,k));
deftk(i,k)..tk(i,k) =E= t(i);
reseq(k)..sum(i, sigma(i,k)) =L= 타우;
trusscomp..sum(i, t(i)) =L= 최대 볼륨;
강성(j,k).. sum(i, s(i,k)*b(j,i)) =E= f(j,k);
모델 트러스 / 모두 /;
* 모든 하중을 사용하여 해결
sigma.l(i,k) = 균일(0.1,1);
타우를 최소화하는 qcp를 사용하여 트러스를 해결합니다.
* 단일 하중(k1)만으로 해결
f(j,"k2") = 0;
f(j,"k3") = 0;
tau를 최소화하는 qcp를 사용하여 트러스를 해결합니다.