[PYTHON] Kombinationsoptimierung - typisches Problem-Gewichtsanpassungsproblem

Typisches Problem und Ausführungsmethode

Gewichtsanpassungsproblem

Das Problem der Gewichtsanpassung ist ein allgemeiner Begriff wie "Problem der maximalen Gewichtsanpassung, Problem der maximalen Gewichtsanpassung, Problem der maximalen Anpassung des maximalen Gewichts, Problem der maximalen Anpassung des minimalen Gewichts, Problem der perfekten Anpassung des minimalen Gewichts".

Gewichtsanpassungsproblem Problemtyp Anzahl der übereinstimmenden Seiten
Problem der maximalen Gewichtsanpassung Maximieren Irgendein
Maximales Gewicht, maximales Übereinstimmungsproblem Maximieren Muss dem maximalen Übereinstimmungsproblem entsprechen
Maximales Gewicht perfekt passendes Problem Maximieren Muss die halbe Punktzahl sein
Minimales Gewicht, maximales Übereinstimmungsproblem Minimieren Muss dem maximalen Übereinstimmungsproblem entsprechen
Minimales Gewicht perfekt passendes Problem Minimieren Muss die halbe Punktzahl sein

Problem der maximalen Gewichtsanpassung

Für den ungerichteten Graphen $ G = (V, E) $ ist, wenn das Gewicht $ w (e) $ jeder Seite $ e \ in E $ angegeben ist, $ \ sum_ {e \ in M} {w ( e) Finden Sie das passende $ M $ mit dem größten} $.

Ausführungsmethode (maximales Gewichtsanpassungsproblem)

usage


Signature: nx.max_weight_matching(G, maxcardinality=False)
Docstring:
Compute a maximum-weighted matching of G.

A matching is a subset of edges in which no node occurs more than once.
The cardinality of a matching is the number of matched edges.
The weight of a matching is the sum of the weights of its edges.

python


#CSV-Daten
import pandas as pd, networkx as nx, matplotlib.pyplot as plt
from ortoolpy import graph_from_table, networkx_draw
tbn = pd.read_csv('data/node0.csv')
tbe = pd.read_csv('data/edge0.csv')
g = graph_from_table(tbn, tbe)[0]
d = nx.max_weight_matching(g)
pos = networkx_draw(g)
nx.draw_networkx_edges(g, pos, width=3, edgelist=[(i, j) for i, j in d])
plt.show()
print(d)

Ergebnis


{5: 1, 1: 5, 0: 2, 2: 0, 4: 3, 3: 4}

mwm2.png

python


# pandas.DataFrame
from ortoolpy.optimization import MaxWeightMatching
MaxWeightMatching('data/edge0.csv')
node1 node2 capacity weight
0 0 2 2 4
1 1 5 2 5
2 3 4 2 4

python


#Zufällige Daten
import networkx as nx, matplotlib.pyplot as plt
from ortoolpy import networkx_draw
g = nx.random_graphs.fast_gnp_random_graph(10, 0.3, 1)
for i, j in g.edges():
    g.adj[i][j]['weight'] = 1
d = nx.max_weight_matching(g)
pos = networkx_draw(g, nx.spring_layout(g))
nx.draw_networkx_edges(g, pos, width=3, edgelist=[(i, j) for i, j in d])
plt.show()

mwm.png

Daten

Recommended Posts

Kombinationsoptimierung - typisches Problem-Gewichtsanpassungsproblem
Kombinationsoptimierung - typisches Problem - Maximum-Matching-Problem
Kombinationsoptimierung - typisches Problem-Rucksack-Problem
Kombinationsoptimierung - typisches Problem - n-dimensionales Packungsproblem
Kombinationsoptimierungstypisches Problem-Minimum-Vertex-Covering-Problem
Kombinationsoptimierungstypisches Problem-verallgemeinertes Zuordnungsproblem
Kombinationsoptimierung - typisches Problem beim Packen von Problembehältern
Kombinationsoptimierung - typisches Problem - sekundäres Zuordnungsproblem
Kombinationsoptimierung - typisches Problem - Problem mit dem kürzesten Weg
Kombinationsoptimierung - typisches Problem - Kombinationsauktionsproblem
Kombinationsoptimierung - typisches Problem - Maximum-Flow-Problem
Kombinationsoptimierungstypisches Problem-Aggregat-Abdeckungsproblem
Kombinationsoptimierung - typisches Problem bei der Platzierung von Problemeinrichtungen
Kombinationsoptimierung - typisches Problem-Job-Shop-Problem
Kombinationsoptimierung - typisches Problem - maximales Schnittproblem
Kombinationsoptimierung - typisches Problem - Rundschreiben Verkäufer Problem
Kombinationsoptimierung - typisches Problem bei der Planung der Problemarbeit
Kombinationsoptimierung - typisches Problem - Minimum des Gesamtflächenbaumproblems
Kombinationsoptimierungstypisches Problem-Maximum-Stabil-Set-Problem
Kombinationsoptimierung - typisches Problem - Mindestkostenflussproblem
Kombinationsoptimierung - typisches Problem - Problem der chinesischen Postzustellung
Kombinationsoptimierung - Typisches Problem - Problem mit der Transportroute (Lieferoptimierung)
Kombinationsoptimierung - Minimum Cut Problem
Kombinationsoptimierung - Typisches Problem - Problem bei der Platzierung der Einrichtung ohne Kapazitätsbeschränkung