Ich habe eine nicht null gesetzt, sagen wir myset
. Ich versuche, die Umkehrung seiner Länge auf diese Weise 1/len(myset)
zu bekommen, und ich bekomme 0
, obwohl die Länge des Satzes nicht so groß ist, so dass seine Inverse Null ist; len(myset)
ist in der Größenordnung von 50.Python: inverse von len (set) ist null
Weiß jemand, wie man dies eccounter?
Vielen Dank!
EDIT/UPDATE:
Der Code ist sehr lang, aber hier ist der Teil, wo ich es bin mit:
from random import randint,random,uniform
import os
import math
import cplex
from datetime import datetime
from scipy.stats import norm
class Solving:
def __init__(self, init):
self.init = init
return
def run(self):
model=cplex.Cplex()
for i in self.init.getGreenNodes() - self.init.getRedNodes():
for j in self.init.getDiscretValuesNb():
model.variables.add(names=["X"+str((i,j))])
model.variables.set_types("X"+str((i,j)),"B")
model.variables.add(names=["Da"+str(i)])
model.variables.set_types("Da"+str(i),"C")
model.objective.set_sense(model.objective.sense.minimize)
model.objective.set_linear("TCost",1)
for i in self.init.getGreenNodes() - self.init.getRedNodes():
aa=1/len(self.init.getGreenNodes() - self.init.getRedNodes())
print aa
model.linear_constraints.set_coefficients("Cstr1", "Da"+str((i)), aa)
Dieser Code funktioniert perfecly wenn Python 3.5
Bearbeiten Sie Ihre Frage, um ein vollständiges Codebeispiel mit dem Problem zu erhalten. – Marein
@Marein: Ich habe den Code mit Code-Teil aktualisiert (Das Hall-Skript ist sehr lang und kann es hier nicht posten). – Betty
Sie müssen nicht das gesamte Skript posten, aber versuchen Sie, ein [minimales, vollständiges und überprüfbares Beispiel] zu erstellen (https://stackoverflow.com/help/mcve). – Marein