本文整理汇总了Python中PyXMCDA.getCriteriaComparisons方法的典型用法代码示例。如果您正苦于以下问题:Python PyXMCDA.getCriteriaComparisons方法的具体用法?Python PyXMCDA.getCriteriaComparisons怎么用?Python PyXMCDA.getCriteriaComparisons使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类PyXMCDA
的用法示例。
在下文中一共展示了PyXMCDA.getCriteriaComparisons方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: main
# 需要导入模块: import PyXMCDA [as 别名]
# 或者: from PyXMCDA import getCriteriaComparisons [as 别名]
def main(argv=None):
if argv is None:
argv = sys.argv
parser = OptionParser()
parser.add_option("-i", "--in", dest="in_dir")
parser.add_option("-o", "--out", dest="out_dir")
(options, args) = parser.parse_args(argv[1:])
in_dir = options.in_dir
out_dir = options.out_dir
# Creating lists for error and log messages
errorList = []
logList = []
# If some mandatory input files are missing
if not os.path.isfile (in_dir+"/alternatives.xml") or not os.path.isfile (in_dir+"/criteria.xml") or not os.path.isfile (in_dir+"/alternativesComparisons.xml") or not os.path.isfile (in_dir+"/performanceTable.xml") :
errorList.append("Some input files are missing")
else :
maxWeight = 0
if os.path.isfile (in_dir+"/maxWeight.xml") :
xmltree_maxWeight = PyXMCDA.parseValidate(in_dir+"/maxWeight.xml")
if xmltree_maxWeight == None :
errorList.append ("maxWeight file can't be validated.")
else :
maxWeight = PyXMCDA.getParameterByName (xmltree_maxWeight, "maxWeight")
if not isinstance(maxWeight,int) :
errorList.append ("maxWeight value should be a strictly positive integer")
else :
if maxWeight <= 0 :
errorList.append ("maxWeightvalue should be a strictly positive integer")
xmltree_alternatives = PyXMCDA.parseValidate(in_dir+"/alternatives.xml")
xmltree_criteria = PyXMCDA.parseValidate(in_dir+"/criteria.xml")
xmltree_altComparisons = PyXMCDA.parseValidate(in_dir+"/alternativesComparisons.xml")
xmltree_perfTable = PyXMCDA.parseValidate(in_dir+"/performanceTable.xml")
if xmltree_alternatives == None :
errorList.append("The alternatives file can't be validated.")
if xmltree_criteria == None :
errorList.append("The criteria file can't be validated.")
if xmltree_perfTable == None :
errorList.append("The performance table file can't be validated.")
if xmltree_altComparisons == None :
errorList.append("The alternatives comparisons file can't be validated.")
if not errorList :
alternativesId = PyXMCDA.getAlternativesID(xmltree_alternatives)
criteriaId = PyXMCDA.getCriteriaID(xmltree_criteria)
perfTable = PyXMCDA.getPerformanceTable(xmltree_perfTable, alternativesId, criteriaId)
thresholds = PyXMCDA.getConstantThresholds (xmltree_criteria, criteriaId)
altComparisons = PyXMCDA.getAlternativesComparisons (xmltree_altComparisons, alternativesId)
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)
#.........这里部分代码省略.........