문제는 다음과 같습니다.
우리는 2 차원 배열 / 숫자 그리드를 가지고 있으며, 각각은 "이익"또는 "이익"을 나타냅니다. 또한 두 개의 고정 정수 와 ( "너비"와 "높이")와 고정 정수 있습니다.
이제이 사각형 에있는 셀 값의 총합이 최대화되도록 격자에 차원 를 중첩 시키려고합니다.
다음 그림은 두 개의 사각형이 오버레이 된 2 차원 그리드의 예입니다 (그림은 최적의 솔루션을 보여주지 않고 및 경우 가능한 한 번의 오버레이 만 보여줍니다 )
사각형은 교차 할 수 없습니다 (그렇지 않으면 하나의 사각형에 대한 최적의 위치를 찾은 다음 모든 사각형을 해당 위치에두면됩니다).
위의 예에서 셀의 총 값 합계는
조합 최적화의 알려진 문제와 비슷한가요? 그래서 나는 약간의 독서를 시작하고 그것을 해결하는 방법을 찾으려고 노력할 수 있습니다.
관심있는 사람들을위한 더 많은 배경 :
지금까지 내가 가진 유일한 아이디어는 탐욕스러운 알고리즘 (첫 번째 사각형에 가장 적합한 위치를 찾은 다음 두 번째 사각형에 겹치지 않는 팔각형을 찾습니다) 또는 유전 알고리즘과 같은 메타 휴리스틱입니다.
실제로 짧은 시간 안에 해결할 필요는 없지만 약 백만 개의 셀과 수만 (또는 수십만)의 사각형이있는 그리드 로이 문제를 해결하고 싶습니다 (즉, 알고리즘은 몇 시간 또는 며칠이 걸릴 수 있습니다.) 정확한 해결책을 기대하지는 않지만 이러한 제약 조건을 감안할 때 가능한 한 좋은 것을 얻고 싶습니다.
건배!