DEXiEval is command-line utility program for batch evaluation of decision alternatives using a DEXi model. Basically, DEXiEval reads a DEXi model from a .dxi
file and loads alternatives' data from another input file. It evaluates these alternatives and writes the
evaluation results to output data files. In one run, DEXiEval can create several output files in
different formats.
DEXiEval is a utility program for:
This version of DEXiEval is part of DEXi Suite and is compatible with all its constituent components, including DEXiWin. It builds upon the DEXi Classic DEXiEval and uses similar command parameters. Additionally, it supports extensions introduced in DEXi Suite:
The current version of DEXiEval is 1.3:
DEXiEval is distributed in a single archive containing three portable binaries that run in different operating systems and/or platforms: Windows, Java and .NET Core (NetCore). Unpack the archive to a folder of your choice and run DEXiEval from there.
Running the Java version requires Java Runtime Environment (JRE) version 8 or later installed on your system.
To run the NetCore version of DEXiEval, .NET 9.0 (.NET Desktop Runtime or ASP.NET Core Runtime), must be installed on your system.
Please see DEXiEval Versions for the change log, previous versions of the software and MD5/SHA256 checksums.
DEXiEval source code is available on GitHub under the GNU General Public License.
DEXiEval is invoked from a command line using the commands:
DEXiEval.exe Program_argumentsjava -jar dexieval.jar Program_argumentsdotnet DEXiEval.dll Program_argumentsIn all environments, Program_arguments have the following general form:
[-p ...] DEXi-file [-p ...] inp-file [ [-p ...] out-file ...]
Files:
DEXi-file: input file containing a DEXi model (required, default extension .dxi)
inp-file: input file containing alternatives (required, except with -save)out-file: zero or more output files to contain evaluation resultsThe following parameters can occur anywhere in the command line and affect the whole DEXiEval run.
General parameters:
-?, -help: display help information-l, -log, -verbose: display detailed file-processing information-license: display license information-save, -dxi: do not load inp-file, use alternatives stored in
DEXi-file-keep: keep DEXi-file alternatives, then overload with inp-file.Evaluation settings:
-es, -set: set-based evaluation (DEXi default)-ep, -prob: probabilistic evaluation-ef, -fuzzy: fuzzy evaluation-efn, -fuzzynorm: normalized fuzzy evaluation-e0, -noexpand: do not modify undefined and empty values-eu, -undefined: expand undefined values to full sets-ee, -empy: expand empty values to full sets-ex, -expand: expand undefined and empty values to full sets (DEXi default)-qq, -qq2: qualitative-quantitative (QQ) evaluation using QP optimization-qqold, -qq1: old-style qualitative-quantitative evaluation using weights (deprecated)-q0: do not perform qualitative-quantitative evaluationOther parameters -p are interpreted in the left-to-right order.
File format parameters:
-tab: use tab-delimited format (default for *.tab files)-csv: use comma-separated format (default for *.csv files)-json: use Json format (default at the beginning and for *.json files)-un or -name: refer to attributes by names (default, but possibly ambiguous)-ui or -id: refer to attributes by Id tags (unambiguous)-up or -path: refer to attributes by name paths (almost unambiguous, but verbose)
-v0 or -base0: use "base 0" value format-v1 or -base1: use "base 1" value format-vt or -text: use "text" value format-vs or -strings: use DEXi strings to represent attribute values-aa or -all: write out all attributes-ab or -basic: write out only basic attributes-dn: use n decimal places to display floating-point numbers; the range of
n is from -1 (default) to 10-mn: use n decimal places to display value distributions; the range of
n is from -1 (default) to 10-r or -reset: reset all format parameters to that defined in
DEXi-file-x or -rx: reset an individual format parameter, where x can be:
u: attribute reference, v: value format, a: attribute, i:
indent, o: orientation, c: CSV format, j: Json formatValid for tables (-tab, -csv):
-ii or -indent: indent attributes according to their tree structure-in or -noindent: do not indent attributes-on or -normal: use normal data-table orientation (attributes \ alternatives)-ot or -transpose: use transposed orientation (alternatives \ attributes)CSV only:
-ci or -invariant: invariant (international) format: using
"." for decimal point and "," to separate data fields-cl or -local: local-culture format: may use "," for
decimal comma and ";" for data field separationJson only:
-jf or -flat: flat format: attribute-related data is written in a single Json
array-jr or -recursive: recursive (nested) format: attribute-related data is structured
according to the DEXi-model tree structure (-a* is ignored with -recursive)-ji: generate an indented (user-readable) Json file (default)-jc or -compact: generate a compact (computer-friendly) Json fileJson is a rich format, thus -id, -path and -name accumulate. Use
-rj to reset.
Also in Json, -vs can be combined with one of -v0, -v1 or
-vt. Use -rv to reset.
In addition to a DEXi model (composed of a hierarchy of attributes, scales and aggregation functions), a
DEXi-file additionally contains:
File/Settings.../"Import/Export", orFile/Preferences.../"Import/Export" and
File/Preferences.../JsonBy default, 1. is erased by DEXiEval after loading a DEXi-file and only
alternatives from inp-file are taken into account. There are two exceptions:
-save or -dxi, then 1. is retained and inp-file is
not loaded at all (in this case, it must not be specified in the command line).-keep means that 1. is retained but overloaded with data from inp-file.
Overloading means that alternatives from inp-file are added to those prevously
stored in DEXi-file, except in the case of equal alternatives' names. In that case,
equally-named alternatives are removed from DEXi-file and replaced with those from
inp-file.The formatting data 2. provides defaults for DEXiEval . This means that when no formatting parameters
are specified in the command line, DEXiEval uses the formatting settings as defined in the
DEXi-file. Whenever a -reset or -r* parameter is specified in the command
line, DEXiEval reverts to DEXi-file settings.
Files containing data about alternatives come in three different basic formats: comma-separated (CSV),
tab-delimited (TAB) and JavaScript Object Notation (Json).
The default is Json, except when the format can be determined from the file's extension. Namely, for
inp-files and out-files whose filename extensions are given explicitly
(.csv, .tab, or .json), DEXiEval assumes they are of the
respective format. For files with other extensions, their format can be explicitly specified beforehand using
-csv, -tab or -json.
DEXiEval Car.dxi -save Cars
Load DEXi-file Car.dxi, evaluate alternatives (cars) contained in it and save the
evaluation results to out-file Cars.json. Cars is written in the default Json format,
using format settings as specified in Car.dxi.
DEXiEval -save Car.dxi Cars.tab
As above, but write to out-file Cars.tab, implicitly assuming the TAB
format.
DEXiEval Car.dxi -dxi -tab Cars.dat
As above, but write to out-file Cars.dat using the TAB format.
DEXiEval Car.dxi CarsData CarsOut
Typical use. Load Car.dxi model and alternative data from CarsData.json, evaluate
alternatives and save the results to CarsOut.json.
DEXiEval Car.dxi Cars.tab Cars.csv
Evaluate alternatives from Cars.tab and write the results to Cars.csv. An implicit
conversion from TAB to CSV format takes place.
DEXiEval Car.dxi Cars.csv -base0 -basic -csv C.dat -text -all -indent -tab C.txt
Load alternatives from Cars.csv, evaluate them by the Car.dxi model and save the
results on two output files, C.dat and C.txt, using different formats.
C.dat is quite criptic: CSV format, containing only data of basic attributes, represented with
"base_0" numerical values. The file C.txt, on the other hand, might be used as a report,
as it is written using TABs, contains data of all attributes, which are represented by "text" values
and indented for better readability.
DEXiEval Car.dxi CarsData CarsOut -fuzzy -noexpand
Modifying evaluation settings. Load Car.dxi model and alternative data from CarsData.json,
evaluate alternatives and save the results to CarsOut.json.
Use the "fuzzy" evaluation algorithm and do not expand empty and undefined values, if any, to full value sets before evaluation.