<?xml version='1.0' encoding='utf-8'?>
<program_description>
   <program provider="PUT" name="DEASMAAvalueADDRanks" version="1.0" displayName="DEASMAAvalueADDRanks" />
   <documentation>
      <description>Computes rankings for the given DMUs (alternatives) using SMAA-D method and additive Data Envelopment Analysis Model. For given number of samples  returns a matrix with alternatives in each row and rankings in each column. Single cell indicates how many samples of respective alternative gave respective position in ranking.</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).
			Lahdelma R., Salminen P., Stochastic multicriteria acceptability analysis using the data envelopment model (2004).</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).</description>
         </documentation>
         <xmcda tag="criteria"><![CDATA[<criteria>
                        <criterion>
							<scale>
								<quantitative>
									<preferenceDirection>
										[...]
									</preferenceDirection>
								</quantitative>
							</scale>
                            [...]
                        </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. "samplesNo" represents the number of samples to generate. "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="samplesNo">
								<value><integer>%2</integer></value>
							</parameter>
							<parameter name="transformToUtilities">
								<value><boolean>%3</boolean></value>
							</parameter>
					</methodParameters>]]></xmcda>
         <gui status="preferGUI">
            <entry id="%1" type="boolean" displayName="boundariesProvided">
               <defaultValue>false</defaultValue>
            </entry>
            <entry id="%2" type="int" displayName="samplesNo">
               <constraint>
                  <description>The value should be a positive integer.</description>
                  <code><![CDATA[ %2 > 0 ]]></code>
               </constraint>
               <defaultValue>100</defaultValue>
            </entry>
            <entry id="%3" type="boolean" displayName="transformToUtilities">
               <defaultValue>true</defaultValue>
            </entry>
         </gui>
      </input>

      <output id="rankAcceptabilityIndices" name="rankAcceptabilityIndices" displayName="rankAcceptabilityIndices">
         <documentation>
            <description>A performance table for given alternatives. Single performance consists of attribute criterionID representing certain ranking, and a value representing ratio of samples attaining this ranking.</description>
         </documentation>
         <xmcda tag="performanceTable"><![CDATA[<performanceTable>
						<alternativePerformances>
							<alternativeID>[...]</alternativeID>
							<performance>
								<criterionID>Rank [...]</criterionID>
									<value>
									[...]
									</value>
							</performance>
							[...]
						</alternativePerformances>
					</performanceTable>]]></xmcda>
      </output>

      <output id="avgRank" name="avgRank" displayName="avgRank">
         <documentation>
            <description>A list of alternatives with average rank (obtained for given sample).</description>
         </documentation>
         <xmcda tag="alternativesValues"><![CDATA[<alternativesValues mcdaConcept="efficiency">
						<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>
