<?xml version='1.0' encoding='utf-8'?>
<program_description>
   <program provider="PUT" name="DEAvalueADDExtremeRanks" version="1.0" displayName="DEAvalueADDExtremeRanks" />
   <documentation>
      <description>Determines ranking intervals 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).</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="worstRank" name="worstRank" displayName="worstRank">
         <documentation>
            <description>A list of the worst rankings for given alternatives.</description>
         </documentation>
         <xmcda tag="alternativesValues"><![CDATA[<alternativesValues mcdaConcept="worstRank">
						<alternativeValue>
						  <alternativeID>[...]</alternativeID>
						  <value>
							[...]
						  </value>
						</alternativeValue>
						[...]
					</alternativesValues>]]></xmcda>
      </output>

      <output id="bestRank" name="bestRank" displayName="bestRank">
         <documentation>
            <description>A list of the best rankings for given alternatives.</description>
         </documentation>
         <xmcda tag="alternativesValues"><![CDATA[<alternativesValues mcdaConcept="bestRank">
						<alternativeValue>
						  <alternativeID>[...]</alternativeID>
						  <value>
							[...]
						  </value>
						</alternativeValue>
						[...]
					</alternativesValues>]]></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>
