本文整理汇总了Python中PyXMCDA.getCleanedStringPart方法的典型用法代码示例。如果您正苦于以下问题:Python PyXMCDA.getCleanedStringPart方法的具体用法?Python PyXMCDA.getCleanedStringPart怎么用?Python PyXMCDA.getCleanedStringPart使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类PyXMCDA
的用法示例。
在下文中一共展示了PyXMCDA.getCleanedStringPart方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: main
# 需要导入模块: import PyXMCDA [as 别名]
# 或者: from PyXMCDA import getCleanedStringPart [as 别名]
#.........这里部分代码省略.........
criComparisons = {}
if os.path.isfile (in_dir+"/criteriaComparisons.xml") :
xmltree_criComparisons = PyXMCDA.parseValidate(in_dir+"/criteriaComparisons.xml")
if xmltree_criComparisons == None :
errorList.append ("criteriaComparisons file can't be validated")
else :
criComparisons = PyXMCDA.getCriteriaComparisons (xmltree_criComparisons, criteriaId)
criLB = {}
if os.path.isfile (in_dir+"/criteriaLowerBounds.xml") :
xmltree_criLB = PyXMCDA.parseValidate(in_dir+"/criteriaLowerBounds.xml")
if xmltree_criLB == None :
errorList.append ("criteriaLowerBounds file can't be validated")
else :
criLB = PyXMCDA.getCriterionValue (xmltree_criLB, criteriaId)
criUB = {}
if os.path.isfile (in_dir+"/criteriaUpperBounds.xml") :
xmltree_criUB = PyXMCDA.parseValidate(in_dir+"/criteriaUpperBounds.xml")
if xmltree_criUB == None :
errorList.append ("criteriaUpperBounds file can't be validated")
else :
criUB = PyXMCDA.getCriterionValue (xmltree_criUB, criteriaId)
if not alternativesId :
errorList.append("No alternatives found. Is your alternatives file correct ?")
if not criteriaId :
errorList.append("No criteria found. Is your criteria file correct ?")
if not perfTable :
errorList.append("No performance table found. Is your performance table file correct ?")
#if not altComparisons :
# errorList.append("No alternatives comparisons found. Is your file correct ?")
if not thresholds :
errorList.append("Problem when retrieving the thresholds. The thresholds need to be constant.")
if not errorList :
p = subprocess.Popen(['ampl'], shell=False, bufsize=0,stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE, close_fds=True)
# We write in the pipe the first part of the ampl file
file = open ("amplRoadef2010_model.txt", 'r')
p.stdin.write(file.read())
p.stdin.write("\n")
lib_ampl_reverse.create_ampl_reverse_data (p.stdin, alternativesId, criteriaId, perfTable, altComparisons, thresholds, maxWeight, criComparisons, criLB, criUB)
file = open ("amplRoadef2010_solve.txt", 'r')
p.stdin.write(file.read())
p.stdin.write("\n")
p.stdin.flush()
# Calling CPlex for solving MILP
output,stderr = p.communicate()
status = p.returncode
# We check the correct resolution
if status == 0 and not stderr :
if PyXMCDA.getStringPart(output, "nolicense") == "" :
if PyXMCDA.getStringPart(output, "infeasible") != "infeasible" :
# We create the criteriaWeights file
fileWeights = open(out_dir+"/criteriaWeights.xml", 'w')
PyXMCDA.writeHeader (fileWeights)
fileWeights.write (PyXMCDA.getStringPart(output, "criteriaValues"))
logList.append("Execution ok")
logList.append(PyXMCDA.getStringPart(output, "slackSum"))
logList.append(PyXMCDA.getCleanedStringPart(output, "CPLexInfos"))
PyXMCDA.writeFooter(fileWeights)
fileWeights.close()
else :
errorList.append ("Infeasible problem.")
errorList.append (PyXMCDA.getStringPart(output, "CPLexInfos"))
else :
errorList.append ("No license available.")
errorList.append (PyXMCDA.getStringPart(output, "CPLexInfos"))
else :
errorList.append ("CPlex is unable to solve the problem.")
errorList.append ("CPlex returned status : " + str(status))
errorList.append (stderr)
# Creating log and error file, messages.xml
fileMessages = open(out_dir+"/messages.xml", 'w')
PyXMCDA.writeHeader (fileMessages)
if not errorList :
PyXMCDA.writeLogMessages (fileMessages, logList)
else :
PyXMCDA.writeErrorMessages (fileMessages, errorList)
PyXMCDA.writeFooter(fileMessages)
fileMessages.close()