[Python_AI] 경영인공지능 그래프(네트워크)를 활용한 최적해 탐색 및 의사결정
ch07 그래프와 그래프 이론 Node: 각 그래프의 점 ( 네트워크에서는 node( 마디 ), 그래프에서는 vertex( 꼭지점 )) Edge: 각 점을 잇는 선 ( 네트워크에서는 link( 가지 ), 그래프에서는 edge( 마디 )) Degree: 각 노드에서 발생된 엣지의 수 네트워크 : 그래프 ch08 Maximum flow problem 출발지와 목적지가 각각 하나인 네트워크로 돌아오고 나가는 최대 유통량이 얼마인가를 계산 흐르는 량을 최대로 하기 위해서는 각 가지를 통해 흐르는 용량은 얼마이어야 하는지 결정한다 . 출발노드와 도착노드를 지정하고 실행하면 결과 값을 얻을 수 있다 . 반드시 출발노드인 유입량과 도착노드인 유출량은 같아야 한다 . maximum flow problem 을 해결하기 위해서는 먼저 라이브러리를 받아야 한다 . pip install ortools from ortools.graph import pywrapgraph start_nodes = [0, 0, 0, 1, 1, 2, 2, 3, 3] // 출발 노드 end_nodes = [1, 2, 3, 2, 4, 3, 4, 2, 4] // 끝 노드 capacities = [20, 30, 10, 40, 30, 10, 20, 5, 20] // 최대 흐르는 양 max_flow = pywrapgraph.SimpleMaxFlow() for i in range(0, len(start_nodes)): max_flow.AddArcWithCapacity(start_nodes[i], end_nodes[i], capacities[i]) # Find the maximum flow between node 0 and node 4. if max_flow.Solve(0, 4) == max_flow.OPTIMAL: // 출발 노드는 0, 도착 노드는 4 가 된다 . ...