Run Optimisation from the Command-line

Command-line arguments

Below is a summary of the command-line arguments of the jEPlus+EA.

usage: java [-Xmx1000m] -jar jEPlus+EA.jar [OPTIONS] <PROJECT_FOLDER>
            Example:
            java -jar jEPlus+EA.jar -remote client.cfg -ea ea.cfg -log
            log4j.cfg -output ea_log/ -nogui ET_opt
 -chart <chart config file>     Chart settings file to load
 -ea <EA settings file>         EA settings file to load
 -help                          print this message
 -local <E+ config file>        Run simulations on the local computer,
                                with the specified E+ configuration file.
 -log <logger config file>      Logger configuration file to load
 -more                          To download more result information from
                                JESS. This is only effective with -remote,
                                and may slow down simulation.
 -nogui                         Run optimisation without showing GUI
 -output <output folder>        Specify the folder for EA outputs such as
                                population snapshots
 -precalc <result file>         Run optimisation on the pre-calculated
                                result table. Effective with -nogui only
 -remote <Client config file>   Run simulations on a JESS server, with the
                                specified client configuration file.
 -seeds <Seed population>       Set a seeding population from which the EA
                                should start. Effective with -nogui only

Configure files

Use “-ea <EA settings file>” to specify the configuration of NSGA2. For example, “-ea ea.cfg”. You can edit the configuration file to adjust population size, crossover/mutation probabilities and log options etc.

Use “-log <logger config file>” to specify the error log of the program. If omitted, log4j.cfg is used, and error log is shown on screen as well as in the client.err file.

The “-chart <chart config file>” option is depreciated. Chart settings can be adjusted easily in the GUI

Configure files for local, remote, and precalc simulation can be specified with the corresponding arguments. They are detailed below.

Run options

If “-nogui” is specified, jEPlus+EA will start optimisation without showing the graphical user interface. You can specify the output folder where the jEPlus+EA's log files to be stored. The simulation

The following arguments can be used to instruct how simulations to be carried out.

The run options, i.e. “-local <E+ config file>”, “-remote <client config file>” and “-precalc <result file>” are exclusive and should not appear in the same command-line. If they do, -local takes the precedence over -remote, and -remote over -precalc.

Run locally

If “-local <E+ config file>” is specified, e.g. “-local jeplus_E+V81.cfg”, jEPlus+EA will use the specified E+ excusable to run optimisation on all available processor cores. The E+ configure file can be edited using a text editor. Alternatively, open an instance of jEPlus, select the E+ executable in the Execution tab, and then close jEPlus. This will save a copy of “jeplus.cfg” with the selected E+ executable settings. Rename and copy it to the jEPlus+EA folder, you can then point to it with the “-local” argument.

Run remotely

The “-remote <client config file>” option specifies the configuration file for the JESS client to be used to run simulation remotely. Details of setting up the JESS client can be found in the JESS Client Users Guide.

An additional argument, “-more”, is available to be used with the “-remote” option. With “-more”, the JESS client will download detailed simulation results of each solution. Enabling this option will cause much higher network transfer and may slow down simulation on the remote server.

Run with pre-calculated results

For doing experiments with the optimisation algorithm, such as comparing its performance to other algorithms, it may be convenient to get the simulation results of all solutions in the search space, and then run optimisation using these pre-simulated results. To do this, “-precalc <result file>” can be used, for example, “-precalc ET_10var_carbon_costs.csv”.

The result table has the same format as the the “SimResults.csv” file generated by jEPlus after a parametric run. However, the “Job_Id” column uses a different naming convention, which you have to edit yourself. Below is an example of the result file.

Id	Job_Id				Date/Time	Total CO2	Total cost
0	ET-0_0_0_0_0_0_0_0_0_0_0	simdays=365	2234.812815	1121.46975
1	ET-0_0_0_0_0_0_0_0_0_0_1	simdays=365	2101.837728	1713.46975
2	ET-0_0_0_0_0_0_0_0_0_0_2	simdays=365	2058.685624	2305.46975
3	ET-0_0_0_0_0_0_0_0_0_1_0	simdays=365	2188.767806	1241.026434
4	ET-0_0_0_0_0_0_0_0_0_1_1	simdays=365	2060.231246	1833.026434
5	ET-0_0_0_0_0_0_0_0_0_1_2	simdays=365	2018.532091	2425.026434
...

Seeding

The “-seed <seed population>” option has two purposes: to start optimisation with known solutions, and to continue optimisation from a previous run. The “-seed” option takes a jEPlus+EA population snapshot file as the argument. For more details of the snapshot files, please see Population Snapshot.

Examples

Start in GUI mode

To start the jEPlus+EA GUI, use:

java -jar jEPlus+EA.jar

Or to load a project when opening the GUI:

java -jar jEPlus+EA.jar folder/myproject.jep

Start without GUI

To start optimisation without the jEPlus+EA GUI, and use local computer to run simulations:

java -jar jEPlus+EA.jar -local jeplus.cfg -ea ea.cfg -nogui folder/myproject.jep


To run simulation locally without GUI, and to put EA log files into a specific folder: (please note that simulation output files are always saved in the output/ folder next to the jEPlus project folder.)

java -jar jEPlus+EA.jar -remote client.cfg -more -ea ea.cfg -output experiment1/ 
     -nogui folder/myproject.jep


The same command-line as above, but starting with a seed population:

java -jar jEPlus+EA.jar -local jeplus.cfg -ea ea.cfg -output experiment1/ 
     -seeds Pop-300.rec -nogui folder/myproject.jep


To run simulation on a remote JESS server: (Note that the jEPlus project must be named project.jep in this case, and contains only relative paths. In the command-line, specify only the project folder.)

java -jar jEPlus+EA.jar -remote client.cfg -ea ea.cfg -output experiment1/ -nogui folder/


To start jEPlus+EA from a different folder than where the program is installed, the paths to the program files (jar and configure files) must be specified in the command-line. The example below assumes that jEPlus+EA is installed in “C:\jEPlus+EA_v1.5_beta_05\”, the jEPlus project files is in “project\” in the working folder, and ea.cfg has been copied to the working folder.

java -jar C:\jEPlus+EA_v1.5_beta_05\jEPlus+EA.jar -log C:\jEPlus+EA_v1.5_beta_05\log4j.cfg
     -remote C:\jEPlus+EA_v1.5_beta_05\client.cfg -ea ea.cfg -output run1 -nogui project


To run optimisation using pre-calculated results:

java -jar jEPlus+EA.jar -precalc ET_10var_carbon_costs.csv -ea ea.cfg -output experiment1/ 
     -nogui ET_PreCalc/project.jep