<?xml version='1.0' encoding='utf-8'?>
<program_description>
   <program provider="PUT" name="DEAvalueADDPreferenceRelations" version="1.0" displayName="DEAvalueADDPreferenceRelations" />
   <documentation>
      <description>Determines necessary and possible dominance relations for the given DMUs (alternatives) using additive Data Envelopment Analysis Model.</description>
      <contact><![CDATA[Malgorzata Napieraj (napieraj.malgorzata@gmail.com)]]></contact>
      <reference>Gouveia M. C., Dias L. C., Antunes C. H., Additive DEA based on MCDA with imprecise information (2008).
			Greco S., Mousseau V., Slowinski R., The Possible and the Necessary for Multiple Criteria Group Decision (2009).</reference>
   </documentation>
   <parameters>

      <input id="inputsOutputs" name="inputsOutputs" displayName="inputsOutputs" isoptional="0">
         <documentation>
            <description>A list of criteria with specified preference direction. List has to contains at least one criterion that will be minimized (input) and at least one criterion that will be maximized (output). In addition, minimum and maximum possible value for each critetion can be defined. If not defined, they will be computed from alternatives performances on given criteria.</description>
         </documentation>
         <xmcda tag="criteria"><![CDATA[<criteria>
                        <criterion>
							<scale>
								<quantitative>
									<preferenceDirection>
										[...]
									</preferenceDirection>
								</quantitative>
							</scale>
							<minimum>[...]</minimum>
							<maximum>[...]</maximum>
                            [...]
                        </criterion>
                        [...]
                    </criteria>]]></xmcda>
      </input>

      <input id="units" name="units" displayName="units" isoptional="0">
         <documentation>
            <description>A list of alternatives (DMUs).</description>
         </documentation>
         <xmcda tag="alternatives"><![CDATA[<alternatives>
                        <alternative>
                            [...]
                        </alternative>
                        [...]
                    </alternatives>]]></xmcda>
      </input>

      <input id="performanceTable" name="performanceTable" displayName="performanceTable" isoptional="0">
         <documentation>
            <description>A list of alternatives (DMUs) performances.</description>
         </documentation>
         <xmcda tag="performanceTable"><![CDATA[<performanceTable>
						<alternativePerformances>
							<alternativeID>[...]</alternativeID>
							<performance>
								<criterionID>
									[...]
								</criterionID>
								<value>[...]</value>
							</performance>
							[...]
						</alternativePerformances>
						[...]
					</performanceTable>]]></xmcda>
      </input>

      <input id="weightsLinearConstraints" name="weightsLinearConstraints" displayName="weightsLinearConstraints" isoptional="defaultFalse">
         <documentation>
            <description>A list of criteria linear constraints.</description>
         </documentation>
         <xmcda tag="criteriaLinearConstraints"><![CDATA[<criteriaLinearConstraints>
						<constraint>
							<element>
								<criterionID>[...]</criterionID>
								<coefficient>
									[...]
								</coefficient>
							</element>
							[...]
							<operator>[...]</operator>
							<rhs>
								[...]
							</rhs>
						</constraint>
						[...]
					</criteriaLinearConstraints>]]></xmcda>
      </input>

      <input id="methodParameters" name="methodParameters" displayName="methodParameters" isoptional="0">
         <documentation>
            <description>"boundariesProvided" indicates if criteria values boundaries are given in criteria input or they have to be computed based on alternatives performances. "transformToUtilites" indicates if given alternatives values are utilities or if they have to be firstly transformed to utilities.</description>
         </documentation>
         <xmcda tag="methodParameters"><![CDATA[<methodParameters>
							<parameter name="boundariesProvided">
								<value><boolean>%1</boolean></value>
							</parameter>
							<parameter name="transformToUtilities">
								<value><boolean>%2</boolean></value>
							</parameter>
					</methodParameters>]]></xmcda>
         <gui status="preferGUI">
            <entry id="%1" type="boolean" displayName="boundariesProvided">
               <defaultValue>false</defaultValue>
            </entry>
            <entry id="%2" type="boolean" displayName="transformToUtilities">
               <defaultValue>true</defaultValue>
            </entry>
         </gui>
      </input>

      <output id="possibleDominance" name="possibleDominance" displayName="possibleDominance">
         <documentation>
            <description>A list of alternatives pairs being in a possible dominance relation. If list contains pair (A,B), it means that alternative A dominates alternative B.</description>
         </documentation>
         <xmcda tag="alternativesComparisons"><![CDATA[<alternativesComparisons mcdaConcept="possibleDominance">
						<pairs>
						  <pair>
							<initial>
							  <alternativeID>[...]</alternativeID>
							</initial>
							<terminal>
							  <alternativeID>[...]</alternativeID>
							</terminal>
							<value>
							  [...]
							</value>
						  </pair>	
						  [...]
						</pairs>
					</alternativesComparisons>]]></xmcda>
      </output>

      <output id="necessaryDominance" name="necessaryDominance" displayName="necessaryDominance">
         <documentation>
            <description>A list of alternatives pairs being in a necessary dominance relation. If list contains pair (A,B), it means that alternative A dominates alternative B.</description>
         </documentation>
         <xmcda tag="alternativesComparisons"><![CDATA[<alternativesComparisons mcdaConcept="necessaryDominance">
						<pairs>
						  <pair>
							<initial>
							  <alternativeID>[...]</alternativeID>
							</initial>
							<terminal>
							  <alternativeID>[...]</alternativeID>
							</terminal>
							<value>
							  [...]
							</value>
						  </pair>	
						  [...]
						</pairs>
					</alternativesComparisons>]]></xmcda>
      </output>

      <output id="messages" name="messages" displayName="messages">
         <documentation>
            <description>A list of messages generated by the algorithm.</description>
         </documentation>
         <xmcda tag="methodMessages" />
      </output>

   </parameters>
</program_description>
