Quick start
This quick start guide describes the steps to install and run Optimization Server on your laptop. It also provides downloadable code samples to run Optimization Server jobs. Finally, a worker sample is provided to start extending Optimization Server.
Running Optimization Server locally
Prerequisites
Install the following pieces of software on the computer where Optimization Server will be run:
The Docker engine needs to be logged in the Optimization Server docker registry to be able to pull images.
Credentials can be requested using the contact section.
Then, use the following shell command to log in the registry:
docker login product-dbos-prod-docker-group.decisionbrain.cloud
Starting Optimization Server
Create a folder in the computer.
Download the following archive and decompress it into this folder: dbos-deployment.zip
Open a shell, go to the created directory. To run the Optimization Server with Keycloak authentication, run the following command:
docker-compose up -d
Docker images will be pulled from the nexus docker registry, that may take a while. When Docker says containers are started, wait a few seconds until Optimization Server starts. You can access the Optimization Server web console in a web browser there: http://localhost/. The default credentials to log in are optimserver / optimserver .
You now have a Optimization Server instance running locally. To be able to run some jobs, the next section describes how to start pre-packaged Optimization Server workers.
Starting pre-packaged Optimization Server workers
Pre-packaged Optimization Server workers allow to solve optimization problems with IBM Ilog Cplex, CpOptimizer or OPL.
Use the following shell command to log in the CPLEX registry:
docker login product-dbos-cplex-prod-docker-group.decisionbrain.cloud/dbos
Open a shell, go to the directory created in the previous section, and run the following command:
docker-compose -f docker-compose-workers.yml up -d
Running a first job
Now Optimization Server and Cplex worker are up and running, let us run a sample Cplex job. Go to the Optimization Server web console and select the job creation view, as shown on the screenshot below.
Fill in the "Model" input with the following sample model from cplex examples: UFL_25_35_1.mps Then click on the "Submit" button.
A green banner appears on the top of the web browser, with a link to the job execution view. Click on the link.
You are redirected to the job execution view. The job status displayed on the top should be "running", then "completed" after a couple of seconds.
More information about the web console are available in the dedicated section.
Starting Optimization Server jobs from a custom client
A custom client for Optimization Server could call any of the Optimization Server APIs as defined in the dedicated section.
For example, it could create and start Optimization Server jobs for tasks exposed by pre-packaged workers.
This is what we demonstrate below.
Prerequisites
For now, only Java clients are provided. Thus, a custom client application may be written in Java 17+.
To be able to download samples, you have to log in our Nexus artifact repository. The same credentials as to log in our docker registry should be used.
The Java sample launches a two new jobs for the tasks CplexTask
and OplTask
that will be executed by the pre-packaged workers, which need to be started.
Follow the instructions in the "Starting pre-packaged workers" section above.
Custom java client
Download the java sample client there: dbos-java-client-sample-4.4.0.zip
Then, unzip the archive and follow the README instructions.
The Java client documentation is available in the dedicated section.
Writing a custom worker
Prerequisites
Install Java 17+.
Sample custom worker
A sample custom worker can be downloaded there: dbos-hello-world-worker-4.4.0.zip
Decompress the archive and follow the instructions given in the README.md file to run this sample worker.
More documentation about writing a custom worker is available in the dedicated section.