graphs.edmonds_karp_multiple_source_and_sink ============================================ .. py:module:: graphs.edmonds_karp_multiple_source_and_sink Attributes ---------- .. autoapisummary:: graphs.edmonds_karp_multiple_source_and_sink.entrances Classes ------- .. autoapisummary:: graphs.edmonds_karp_multiple_source_and_sink.FlowNetwork graphs.edmonds_karp_multiple_source_and_sink.FlowNetworkAlgorithmExecutor graphs.edmonds_karp_multiple_source_and_sink.MaximumFlowAlgorithmExecutor graphs.edmonds_karp_multiple_source_and_sink.PushRelabelExecutor Module Contents --------------- .. py:class:: FlowNetwork(graph, sources, sinks) .. py:method:: _normalize_graph(sources, sinks) .. py:method:: find_maximum_flow() .. py:method:: set_maximum_flow_algorithm(algorithm) .. py:attribute:: graph .. py:attribute:: maximum_flow_algorithm :value: None .. py:attribute:: sink_index :value: None .. py:attribute:: source_index :value: None .. py:attribute:: vertices_count .. py:class:: FlowNetworkAlgorithmExecutor(flow_network) .. py:method:: _algorithm() .. py:method:: execute() .. py:attribute:: executed :value: False .. py:attribute:: flow_network .. py:attribute:: graph .. py:attribute:: sink_index .. py:attribute:: source_index .. py:attribute:: verticies_count .. py:class:: MaximumFlowAlgorithmExecutor(flow_network) Bases: :py:obj:`FlowNetworkAlgorithmExecutor` .. py:method:: get_maximum_flow() .. py:attribute:: maximum_flow :value: -1 .. py:class:: PushRelabelExecutor(flow_network) Bases: :py:obj:`MaximumFlowAlgorithmExecutor` .. py:method:: _algorithm() .. py:method:: process_vertex(vertex_index) .. py:method:: push(from_index, to_index) .. py:method:: relabel(vertex_index) .. py:attribute:: excesses .. py:attribute:: heights .. py:attribute:: preflow .. py:data:: entrances :value: [0]