Wolfram 언어

최적의 트러스 설계

한쪽 끝을 벽에 고정시키고 다른 한쪽 끝의 하중을 견딜 수 있는 최소 중량 트러스를 설계합니다.

이 예는 LinearOptimization에서 효율적으로 해결할 수 있는 선형 최적화 문제의 기호 형식을 작성하기 위하여 Wolfram 언어의 기능을 얼마나 사용해야할지를 나타냅니다.

트러스를 벽에 고정 할 특정 위치를 선정합니다.

하중이 걸리는 위치는 트러스의 끝입니다.

트러스는 링크와 노드를 사용하여 모델화 할 수 있습니다. 각각의 노드는 링크를 통해 인접한 노드에 연결됩니다. 연결 패턴의 하나의 예를 아래에서 살펴봅니다.

후보가 되는 노드는 사각형 격자에 놓입니다.

노드의 위치, 앵커점의 위치, 힘이 걸리는 위치, 트러스 중앙의 하나의 노드의 연결성을 시각화합니다.

각각의 노드는 고유한 지표와 관련이 있습니다. Association은 효율적으로 빠른 조회 테이블을 제공합니다.

앵커점과 힘이 걸리는 점의 관련 지표를 구합니다.

임의의 지정된 연결 패턴에 대한 모든 격자점의 연결성을 제공하는 함수를 작성합니다.

지정된 노드 에 대해 어떤 링크가 노드를 포함하고 있는지를 판별하기 위해 연결을 사용합니다. 노드 가 연결되어 있다면, 는 같은 링크를 나타냅니다. 반복을 피하기 위해 노드만을 고려합니다.

노드 와 노드 가 링크를 형성한다면 과 같은 링크의 집합을 에서 기술합니다.

링크의 두께, 단위 길이 당 질량이 해당 링크에 작용하는 힘에 비례한다고 가정합니다. 링크를 에서 설명하는 편리한 방법으로 링크에 지표를 붙입니다. 이렇게하면 각각의 연결된 쌍 에 대해 인 고유 지표 가 붙습니다.

이 목적은 를 최소화 하는 것입니다. 여기서 는 지표 의 노드 사이의 링크의 길이, 는 그 조인트 링크에 의해 사용되는 힘입니다.

함수 는 비선형이지만, 가 되는 을 도입함으로써 선형 함수로 나타낼 수 있습니다. 목적 함수는 입니다.

역점을 제외한 모든 노드에 적용되는 외부의 힘은 없습니다.

힘이 걸리는 점에서는 수직 방향으로의 하향 단위 힘이 적용됩니다.

앵커가 아닌 각 노드 에서는 힘 균형 가 있어야 합니다. 여기서 는 노드 의 위치, 는 노드 에서 외부의 힘입니다. 노드 에 대해 힘 균형의 제약조건 주는 함수를 정의합니다.

Complement를 사용하여 앵커 노드가 포함되지 않도록 합니다.

최종 제약 조건은 다음과 같습니다.

결과의 시스템을 풉니다.

파란색 링크의 압축을, 빨간색 링크의 확장을 나타내는 최적 트러스를 시각화합니다.

관련 예제

de en es fr ja pt-br zh