<?xml version="1.0" encoding="UTF-8"?>
<program_description>
   <program provider="PUT" name="ImpreciseDEA-ValueAdditive-SMAA_preferenceRelations" displayName="ImpreciseDEA-ValueAdditive-SMAA_preferenceRelations" version="1.0" />
   <documentation>
      <description>Determines dominance relations for the given DMUs (alternatives) using SMAA-D method and Additive Data Envelopment Analysis Model with imprecise data. For given number of samples  returns a matrix with alternatives in each row and column. Single cell indicates how many samples of alternative in a row dominates alternative in a column.</description>
      <contact><![CDATA[Anna Labijak <support@decision-deck.org>]]></contact>
   </documentation>
   <parameters>
      <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="inputsOutputs" name="inputsOutputs" displayName="inputs/outputs" 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>
                                [...]
							</scale>
                            [...]
                        </criterion>
                        [...]
                    </criteria>]]></xmcda>
         </input>
      <input id="performanceTable" name="performanceTable" displayName="performance" isoptional="0">
         <documentation>
            <description>A list of alternatives (DMUs) minimal performances (or exact performances if intervals should be created by tolerance).</description>
         </documentation>
         <xmcda tag="performanceTable"><![CDATA[<performanceTable>
						<alternativePerformances>
							<alternativeID> [...] </alternativeID>
							<performance>
								<criterionID>
									[...]
								</criterionID>
								<value>[...]</value>
							</performance>
							[...]
						</alternativePerformances>
						[...]
					</performanceTable>]]></xmcda>
      </input>
	  <input id="maxPerformanceTable" name="maxPerformanceTable" displayName="max performance" isoptional="1">
         <documentation>
            <description>A list of alternatives (DMUs) maximal 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="weights constraints" 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="method parameters">
         <documentation>
            <description>Represents method parameters.
            "tolerance" represents the fraction for creating interval data (created interval: [data*(1-tolerance), data*(1+tolerance)]),
            "transformToUtilities" means if data should be tranformed into values from range [0-1],
            "boundariesProvided" means if inputsOutputs file contains information about min and max data for each factor,
            "functionShapeProvided" means if inputsOutputs file contains information about the shapes of value function for given factor,
            "samplesNb" determines number of samples used to calculate results.
            </description>
         </documentation>
         <xmcda tag="methodParameters"><![CDATA[
	<methodParameters>
		<parameter id="samplesNb">
			<value><integer>%1</integer></value>
		</parameter>
		<parameter id="tolerance">
			<value><real>%2</real></value>
		</parameter>
		<parameter id="transformToUtilities">
			<value><boolean>%3</boolean></value>
		</parameter>
		<parameter id="boundariesProvided">
			<value><boolean>%4</boolean></value>
		</parameter>
		<parameter id="functionShapeProvided">
			<value><boolean>%5</boolean></value>
		</parameter>
	</methodParameters>
]]></xmcda>
         <gui status="preferGUI">
            <entry id="%1" type="int" displayName="number of samples">
               <constraint>
                  <description>The value should be a positive integer.</description>
                  <code><![CDATA[%1 > 0]]></code>
               </constraint>
               <defaultValue>100</defaultValue>
            </entry>
            <entry id="%2" type="float" displayName="tolerance">
               <constraint>
                  <description>The value should be a non-negative.</description>
                  <code><![CDATA[%2 >= 0]]></code>
               </constraint>
               <defaultValue>0.0</defaultValue>
            </entry>
            <entry id="%3" type="boolean" displayName="transform to utilities">
               <defaultValue>true</defaultValue>
            </entry>
            <entry id="%4" type="boolean" displayName="boundaries provided">
               <defaultValue>false</defaultValue>
            </entry>
            <entry id="%5" type="boolean" displayName="function shapes provided">
               <defaultValue>false</defaultValue>
            </entry>
         </gui>
      </input>
      <output id="pairwiseOutrankingIndices" name="pairwiseOutrankingIndices" displayName="pairwise outranking indices">
         <documentation>
            <description>A performance table for given alternatives. Single performance consists of attribute criterionID representing dominated alternative, and a value representing ratio of samples dominating this alternative.</description>
         </documentation>
         <xmcda tag="performanceTable"><![CDATA[<performanceTable>
						<alternativePerformances>
							<alternativeID> [...] </alternativeID>
							<performance>
								<criterionID> geq [...]</criterionID>
									<value>
									[...]
									</value>
							</performance>
							[...]
						</alternativePerformances>
					</performanceTable>]]></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>
