def get(self): output = [] inputDict = {} stocksize = int(self.get_argument("max-size", default="0", strip=False)) for i in range(0, (len(self.request.arguments) / 2)): inputDict.update({ int( self.get_argument("size" + str(i), default="0", strip=False)): int(self.get_argument("qty" + str(i), default="0", strip=False)) }) a = GeneticSolver(inputDict, stocksize) chromo = a.getResult() i = 1 for gene in chromo.genes: res = "" for key, value in gene.getDict().iteritems(): if (value > 0): res = res + "," + str(key) + "*" + str(value) + " " output.append(res) i += 1 self.render("UI/sol.html", outp=output, req=inputDict)
def run(self, inputDict, wasteThreshold, stocksize, algo, timestamp, slider): waste = 0 self.algo = algo self.output = [] self.leftoverArray = [] currentThreads.update({timestamp: self}) print "hello" print "****", wasteThreshold, inputDict, stocksize, algo, timestamp, "****" if (algo == "genetic"): print slider, 1 - slider a = GeneticSolver(inputDict, stocksize, wasteThreshold, countParam=slider, reuseParam=1 - slider) self.solver = a chromo = a.getResult() i = 1 for gene in chromo.genes: res = "" for key, value in gene.getDict().iteritems(): if (value > 0): res = res + "," + str(key) + "*" + str(value) + " " self.output.append(res) self.leftoverArray.append(gene.getLeftover(stocksize)) i += 1 waste = chromo.waste else: a = GreedySolver(inputDict, stocksize) self.solver = a cutPatterns = a.getResult() i = 1 realwaste = 0 for combination in cutPatterns: leftover = combination.getLeftover(stocksize) self.leftoverArray.append(leftover) if (leftover < wasteThreshold): realwaste += leftover self.output.append(combination.printCombi()) i += 1 print "real waste = ", realwaste waste = realwaste a.progress = 100 self.solver.waste = waste
def run(self,inputDict,wasteThreshold,stocksize,algo,timestamp,slider): waste=0 self.algo=algo self.output=[] self.leftoverArray=[] currentThreads.update({timestamp:self}) print "hello" print "****",wasteThreshold,inputDict,stocksize,algo,timestamp,"****" if(algo=="genetic"): print slider,1-slider a=GeneticSolver(inputDict,stocksize,wasteThreshold,countParam=slider,reuseParam=1-slider) self.solver=a chromo = a.getResult() i=1 for gene in chromo.genes: res="" for key,value in gene.getDict().iteritems(): if(value>0): res=res+","+str(key)+"*"+str(value)+" " self.output.append(res) self.leftoverArray.append(gene.getLeftover(stocksize)) i+=1 waste=chromo.waste else: a=GreedySolver(inputDict,stocksize) self.solver=a cutPatterns = a.getResult() i=1 realwaste=0 for combination in cutPatterns: leftover=combination.getLeftover(stocksize) self.leftoverArray.append(leftover) if(leftover<wasteThreshold): realwaste+=leftover self.output.append( combination.printCombi()) i+=1 print "real waste = ",realwaste waste=realwaste a.progress=100 self.solver.waste=waste
def get(self): output=[] inputDict = {} stocksize=int(self.get_argument("max-size", default="0", strip=False)) for i in range(0,(len(self.request.arguments)/2)): inputDict.update({int(self.get_argument("size"+str(i), default="0", strip=False)):int(self.get_argument("qty"+str(i), default="0", strip=False))}) a=GeneticSolver(inputDict,stocksize) chromo = a.getResult() i=1 for gene in chromo.genes: res="" for key,value in gene.getDict().iteritems(): if(value>0): res=res+","+str(key)+"*"+str(value)+" " output.append(res) i+=1 self.render("UI/sol.html", outp=output,req=inputDict)
''' Created on Dec 16, 2014 @author: Gaurav ''' from cuttingstock.GeneticSolver import GeneticSolver if __name__ == '__main__': ''' inputp={1380:22,1520:25,1560:12,1710:14,1820:18,1880:18,1930:20,2000:10,2050:12,2100:14,2140:16,2150:18,2200:20} max_size=5600 max_waste_size=500 ''' inputp = {300: 8, 700: 9, 600: 6, 500: 8, 400: 4} max_size = 2000 max_waste_size = 200 a = GeneticSolver(inputp, max_size, max_waste_size) res = a.getResult() #cutPatterns = a.getResult() #for combination in cutPatterns: # print combination," Waste = ",max_size-combination.getCombinationSize()
''' Created on Dec 16, 2014 @author: Gaurav ''' from cuttingstock.GeneticSolver import GeneticSolver if __name__ == '__main__': ''' inputp={1380:22,1520:25,1560:12,1710:14,1820:18,1880:18,1930:20,2000:10,2050:12,2100:14,2140:16,2150:18,2200:20} max_size=5600 max_waste_size=500 ''' inputp={300:8,700:9,600:6,500:8,400:4} max_size=2000 max_waste_size=200 a=GeneticSolver(inputp,max_size,max_waste_size) res=a.getResult() #cutPatterns = a.getResult() #for combination in cutPatterns: # print combination," Waste = ",max_size-combination.getCombinationSize()
if __name__ == '__main__': inputp = { 1380: 22, 1520: 25, 1560: 12, 1710: 14, 1820: 18, 1880: 18, 1930: 20, 2000: 10, 2050: 12, 2100: 14, 2140: 16, 2150: 18, 2200: 20 } max_size = 5600 max_waste_size = 500 ''' inputp={300:8,700:9,600:6,500:8,400:4} max_size=2000 max_waste_size=200 ''' a = GeneticSolver(inputp, max_size, max_waste_size) a.getResult() #cutPatterns = a.getResult() #for combination in cutPatterns: # print combination," Waste = ",max_size-combination.getCombinationSize()