Dateien nach "ILP/butadien" hochladen
This commit is contained in:
@@ -126,7 +126,7 @@ EDGE3 = {}
|
||||
EDGEMAX = {}
|
||||
|
||||
modes = ["Product", "Average"]
|
||||
mode = modes[0]
|
||||
mode = modes[0]
|
||||
|
||||
#print(round(np.prod([1, 0.9])))
|
||||
#Ordnet die Kantenwahrscheinlichkeit basierend auf dem Mittel oder Produkt der Wahrscheinlichkeiten der Produkte
|
||||
@@ -142,15 +142,15 @@ for edge, (tails, heads) in HYPERGRAPH.items():
|
||||
EDGE2[edge] = round(np.prod([VERTICE2[head] for head in heads]),2)
|
||||
EDGE3[edge] = round(np.prod([VERTICE3[head] for head in heads]),2)
|
||||
elif mode == "Average":
|
||||
print(tails)
|
||||
EDGE1[edge] = round(sum(VERTICE1[head] for head in heads)/len(heads),2)
|
||||
EDGE2[edge] = round(sum(VERTICE2[head] for head in heads)/len(heads),2)
|
||||
EDGE3[edge] = round(sum(VERTICE3[head] for head in heads)/len(heads),2)
|
||||
|
||||
EDGEMAX[edge] = max([EDGE1[edge], EDGE2[edge], EDGE3[edge]])
|
||||
print(EDGEMAX[edge], HYPERGRAPH[edge])
|
||||
#print(EDGEMAX[4])
|
||||
#print(EDGEMAX[42])
|
||||
print(EDGEMAX[4])
|
||||
print(EDGEMAX[23])
|
||||
print(EDGEMAX[42])
|
||||
|
||||
|
||||
FIXED_FLOWS = {
|
||||
@@ -182,6 +182,7 @@ def build_model(name, hyperedges, edgelikelihoodsmax, edgelikelihoods1, edgelike
|
||||
|
||||
vertices = set(v for tails, heads in hyperedges.values() for v in tails + heads)
|
||||
|
||||
print(vertices)
|
||||
#Every item created has to be consumed:
|
||||
'''
|
||||
for v in vertices:
|
||||
@@ -219,7 +220,7 @@ def build_model(name, hyperedges, edgelikelihoodsmax, edgelikelihoods1, edgelike
|
||||
model.setObjectiveN(
|
||||
quicksum(enmax[e_id] * b[e_id] for e_id in hyperedges),
|
||||
index = 0,
|
||||
priority = 2,
|
||||
priority = 2000,
|
||||
name = "maximize_nmr_similarity",
|
||||
)
|
||||
#Minimize the overall flow
|
||||
@@ -236,8 +237,14 @@ def build_model(name, hyperedges, edgelikelihoodsmax, edgelikelihoods1, edgelike
|
||||
#model.addConstr(quicksum(x[e_id] for e_id in hyperedges) <= 16)
|
||||
|
||||
#2 Butadien create first different molecule and it has to be created first:
|
||||
model.addConstr(b[4] + b[7] == 1)
|
||||
model.addConstr(b[213] == 1)
|
||||
startmolecule = ["Butadien"]
|
||||
|
||||
model.addConstr(quicksum(b[e_id] for e_id, (tails, _) in hyperedges.items() if list(set(tails)) == startmolecule) == 1)
|
||||
#model.addConstr(b[4] + b[7] == 1)
|
||||
|
||||
model.addConstr(quicksum(b[e_id] for e_id, (tails, heads) in hyperedges.items() if tails == [] and heads == startmolecule)== 1)
|
||||
#model.addConstr(b[213] == 1)
|
||||
|
||||
#model.addConstr(b[41] == 1)
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user