선형계획법을 이용한 최단 경로 문제와 엑셀의 활용

선형계획법을 이용한 최단 경로 문제와 엑셀의 활용

2021, Apr 29    



  • 선형계획법을 이용하여 그래프의 최단 경로 문제를 해결할 수 있습니다.
  • 물론 최단 경로 문제를 해결하기 위한 효율적인 알고리즘들이 있습니다. 컴퓨터 알고리즘에서 다루는 다익스트라 알고리즘을 사용하는 것이 더 효율적일 수 있습니다.
  • 이번 글에서는 선형 계획법을 이용하여 그래프의 최단 경로 문제를 해결하는 방법을 배우고 엑셀을 이용하여 해를 찾아보겠습니다.



Drawing


  • 위 그림과 같은 그래프가 있다고 가정해 보겠습니다. 1번이 출발점이고 7번이 도착점 입니다.
  • 최단 경로 문제에서는 의사결정 변수간선을 기준으로 만들어야 합니다.


  • 의사 결정 변수 : 간선 i와 j가 최단 경로에 포함되면 1, 포함되지 않으면 0


  • 목적 함수는 의사 결정 변수로 정의된 간선과 각 간선의 비용을 이용하여 선택된 간선의 총합이 최소가 되도록 만들어야 합니다.


  • 제약식을 두는 방식에서는 노드 관점에서 2가지 기준을 둡니다.
    • ① 출발 및 도착 지점의 노드로 들어오는 간선은 1개가 선택되어야 한다. 예를 들어 x12+x13+x14=1을 만족하도록 설정해야 합니다.
    • ② 출발 및 도착 지점의 노드 이외에는 유입량 - 유출량 = 0을 만족해야 한다. 예를 들어 x12x24x25=0을 만족하도록 설정해야 합니다.


  • 앞의 개념을 이용하여 전체적 조건을 정리하면 다음과 같습니다.
  • 의사 결정 변수 : 간선 i와 j가 최단 경로에 포함되면 1, 포함되지 않으면 0
  • 목적 함수 : Minimize Z=16x12+9x13+35x14+12x24+25x25+15x34+22x36+14x45+17x46+19x47+8x57+14x67
  • 제약식 :
    • ① 노드 1 (출발점) : x12+x13+x14=1
    • ② 노드 2 : x12x24x25=0
    • ③ 노드 3 : x13x34x36=0
    • ④ 노드 4 : x14+x24+x34x45x46x47=0
    • ⑤ 노드 5 : x25+x45x57=0
    • ⑥ 노드 6 : x36+x46x67=0
    • ⑦ 노드 7 (도착점) : x47+x57+x67=1


Drawing



Drawing



Drawing