Using local development mode
An Executor can also be initialized in a 'local' mode that does not require a DMP component. In this configuration, Executor will run any submitted executions locally using Mosel submodels. This can be configured as follows:
model LocalInitExample uses "executor" declarations myexecutor: Executor end-declarations ! Initialize myexecutor to simulate a Xpress Executor component using local submodels executorinitlocal(myexecutor) if myexecutor.status<>EXECUTOR_OK then writeln("Executor initialization error: ", myexecutor.lasterror) exit(1) end-if ! myexecutor now initialized and can be used end-model
After being initialized, the 'local' executor will always have an empty configuration, so you should call executorsetmodelfile and executorsetexecmode to configure it.
Once configured, you can interact with the local execution using the same functions as you would use for a true Xpress Executor component (e.g. executorexecute, executorwaitfor, executorfetchresult, ...). Local execution is supplied as an aid in developing your model and there may be small differences between how your model reacts to errors locally and how it behaves in a real Xpress Executor.
Note that the local Xpress Executor does not support the MPS or LP file execution mode, and the progress field of the ModelExecution record will always contain 0 regardless of the progress events emitted by your models.