Python Example:
from mplpy import *
from MplCutStock import *
def runCutStock():
cutStock = MplCutStock()
dataDir = cutStock.DataDir
cutNames, cutDemand = readCutWidthsFile(dataDir + "CutWidths.dat")
patternNames, cutWaste = readCutWasteFile(dataDir + "CutWaste.dat")
cutsInPattern = readCutPatternsFile1(dataDir + "CutPatterns.dat")
priceSheet = 28
sheetsAvail = 2000
result = cutStock.SolveModel("CoinMP", cutNames, patternNames, priceSheet, sheetsAvail, cutDemand, cutsInPattern)
if result:
print(str(cutStock.Solution))
else:
print(cutStock.ResultString)
def readCutWidthsFile(filename):
cutNames = []
cutDemand = []
file = open(filename, 'r')
for i, line in enumerate(file):
cutNames.append("w" + str(i+1))
cutDemand.append(int(line.rstrip("\n")))
file.close()
return cutNames, cutDemand
def readCutWasteFile(filename):
patternNames = []
cutWaste = []
file = open(filename, 'r')
for i, line in enumerate(file):
patternNames.append('p' + str(i+1))
cutWaste.append(int(line.rstrip("\n")))
file.close()
return patternNames, cutWaste
def readCutPatternsFile1(filename):
cutsInPattern = []
file = open(filename, 'r')
for line in file:
items = line.split(",")
if len(items) >= 3:
cutsInPattern.append(items[0])
cutsInPattern.append(items[1])
cutsInPattern.append(int(items[2].rstrip("\n")))
file.close()
return cutsInPattern
def readCutPatternsFile2(filename):
patternSubscr = []
patternValues = []
file = open(filename, 'r')
for line in file:
items = line.split(",")
if len(items) >= 3:
patternSubscr.append(items[0])
patternSubscr.append(items[1])
patternValues.append(int(items[2].rstrip("\n")))
file.close()
return patternSubscr, patternValues
if __name__ == '__main__':
runCutStock()