Wolfram 언어

최적 할당 문제

한 전력 회사가 네 개의 전력 발전소에서 다섯 개 도시에 보내는 전력량을 구합니다. 이 전력량은 도시의 최대 수요를 충족하면서 이익을 극대화하고 비용을 최소화해야 합니다.

이 예는 지정된 제약 조건 하에서 이익에 대한 비용의 비율을 최소화하기 위해 LinearFractionalOptimization을 사용하는 방법을 보여줍니다. 행렬값 변수를 사용하여 모델링이 비교적 간단합니다.

발전소 가 도시 에 보내는 전력량을 라고 합니다. 전력의 총 운송 비용은 이며 는 발전소 에서 도시 로 전력을 운송하는 비용입니다. Total[m, 2]를 사용하면 행렬 의 모든 요소의 합을 얻을 수 있습니다.

전력 회사의 총 이익은 입니다. 여기서 는 발전소 가 도시 에 전력을 팔아 얻은 이익입니다.

각 발전소에 의해 보내진 총 전력량은 로 주어집니다. 이것은 그 발전소가 공급할 수 있는 최소 전력량 이상이어야 합니다. Total[x, {2}]를 사용하면 의 각 행의 합계를 얻을 수 있습니다.

각 도시에 보내지는 총 젼력량은 로 주어집니다. 이것은 최소 수요보다 크고 최대 수요 이하여야 합니다. Total[x, 1]을 사용하면 열의 합계를 얻을 수 있습니다.

발전소는 도시에 전력을 줄뿐, 도시로부터 받지는 않습니다. VectorGreaterEqual을 사용하면 행렬 변수 의 모든 요소가 제로 이상이어야 함을 알 수 있습니다.

예를 들어 네 개의 발전소에서 다섯 개 도시에 100만 킬로와트(kWh)를 수송하는 비용은 다음과 같습니다.

각각의 발전소가 각 도시에 100만 kWh 판매함으로써 얻을 수 있는 이익은 다음과 같습니다.

각 도시의 최대 수요는 4500만 kWh, 2000만 kWh, 3000만 kWh, 3000만 kWh, 4000만 kWh이며, 최소 수요는 500만 kWh입니다.

발전소는 각각 최소 3500만 kWh, 5000만 kWh, 4000만 kWh, 4000만 kWh의 전력을 공급할 수 있습니다.

각 발전소가 각 도시에 보낼 수 있는 최적의 전력량은 비용 이익의 비율을 최소화함으로써 구할 수 있습니다.

공급되는 전력의 상세 내용은 아래와 같습니다.

관련 예제

de en es fr ja pt-br zh