2 차원 배열에 대한 각 행과 열의 합이 주어지고 배열의 각 셀에 양을 분배해야하는 문제가 있습니다. 일부 셀이 잠기고 배포 할 때 사용할 수 없습니다. 또한 행/열의 총 양은 십진 값이 될 수 있습니다. 그래서 예를 들어2 차원 배열의 양 분포 최적화
, 우리는 4 * 3 2-D 배열의 각 행의 합 10,20,30,35 각 열의 합
A B C
D E F
G H I
J K L
는 35,30,30 인 한 .
E는 I 및 K는 방정식 (X) = 분 (X)와 F 이차 솔버 (X) = 민 (X^2)를 사용
I가 시도E = I = K = 0
A + B + C = 10
D + F = 20
G + H = 30
J + L = 35
A + D + G + H = 30
B + H = 30 and
C + F + L = 30
선형 F 지도록 잠긴 Python scipy 및 IBM CPLEX (C#)가 있습니다.
선형 솔버는 분포를 최적화하지 않습니다.
이차원 솔버는이 방법에 도움이되지만 10 * 10보다 큰 크기의 배열에서는 작동하지 않습니다. 해결할 수없는 상태로 해가 실패했습니다.
합계가 십진수 값을 가질 수 있고 행렬의 크기가 100 * 10000까지 올라갈 수 있다고 가정하면이 문제를 해결하기 위해/라이브러리에 어떤 방법을 사용해야합니까?
어떤 방법을 시도 했습니까? 작동하지 않는 것은 무엇입니까? 아마 당신은 2 차원 어레이의 십진수를 가지며 합계를 하나의 루프로 얻습니다. 어떤 배포판을해야합니까? –
파이썬이나 C#과 어떤 관계가 있습니까? –
내 질문을 업데이트했습니다. @RufusL CPLEX 2 차 해결사를 사용하여 문제를 해결하려고했지만 10 * 10 행렬 후에 실패합니다. –