Wolfram 언어

최적의 평면 계획

개의 작은 직사각형을 최소의 둘레를 가진것 보다 큰 직사각형 안에 배치하는 문제를 생각해 봅니다. 여기서 상대적인 배치, 종횡비, 사이의 간격, 작은 직사각형의 면적에 대한 제약이 있습니다.

이 예는 NMinimize를 사용하는 함수의 정의에 Wolfram 언어를 사용하여 평면 계획 문제를 푸는 것입니다. 이 함수는 준정부호 부등식을 포함한 벡터 부등식을 사용합니다.

큰 사각형을 Rectangle[{0, 0}, {H, W}]에서 작은 사각형을 각각 ri=Rectangle[{xi, yi}, {xi+wi, yi+hi}], i=1 n 으로 기술합니다.

상대적 배치는 가로 배치 및 세로 배치의 두 유향 그래프로 나타낼 수 있습니다. 변 ij가 있다면 rirj의 왼쪽(또는 아래쪽)입니다.

간단하게 하기 위해 모든 사각형의 가로 세로 비율은 에서 사이이며 사각형끼리의 간격은 로 합니다.

이러한 입력과 작은 직사각형의 면적의 목록이 주어지면 최소 둘레를 가진 큰 직사각형을 구하는 함수 planFloor을 정의 할 수 있습니다.

전체 Wolfram 언어 입력 표시하기

10개의 작은 직사각형의 상대적인 위치에 대한 그래프를 설정합니다.

작은 사각형 중 1개만 면적이 400이고 나머지는 모두 100이 되도록합니다.

다음에 의해 평면 계획을 최적화합니다.

최적의 계획을 표시합니다.

다음은 공간의 제약이 만족되는 것을 보여줍니다.

면적이 랜덤인 경우의 배치를 비교합니다.

관련 예제

de en es fr ja pt-br zh