DEXiEval: Command-line utility for batch DEXi evaluation

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:

Compatibility

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:

Download

The current version of DEXiEval is 1.2:

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 7.0 (.NET Desktop Runtime or ASP.NET Core Runtime), must be installed on your system.

Please see DEXiEval Versions for the change log and previous versions of the software.

Open Source

DEXiEval source code is available on GitLab under the GNU General Public License.

Usage

DEXiEval is invoked from a command line using the commands:

In all environments, Program_arguments have the following general form:

[-p ...] DEXi-file [-p ...] inp-file [ [-p ...] out-file ...]

Files:

The following parameters can occur anywhere in the command line and affect the whole DEXiEval run.

General parameters:

Evaluation settings:

Other parameters -p are interpreted in the left-to-right order.

File format parameters:

Valid for tables (-tab, -csv):

CSV only:

Json only:

Json 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.

Operation

In addition to a DEXi model (composed of a hierarchy of attributes, scales and aggregation functions), a DEXi-file additionally contains:

  1. data of zero or more decision alternatives stored in the DEXi/DEXiWin program itself
  2. data formatting parameters, as defined:
    • in DEXi with File/Settings.../"Import/Export", or
    • in DEXiWin with File/Preferences.../"Import/Export" and File/Preferences.../Json

By 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:

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.

Examples

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.