Package org.ojalgo.optimisation.service
Class OptimisationService
- java.lang.Object
-
- org.ojalgo.optimisation.service.OptimisationService
-
public final class OptimisationService extends java.lang.Object
Basic usage:- Put optimisation problems on the solve queue by calling
putOnQueue(Sense, byte[], FileFormat)
- Check the status of the optimisation by calling
getStatus(String)
– is itOptimisationService.Status.DONE
or stillOptimisationService.Status.PENDING
? - Get the result of the optimisation by calling
getResult(String)
– whenOptimisationService.Status.DONE
- Put optimisation problems on the solve queue by calling
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) static class
OptimisationService.Problem
static class
OptimisationService.Status
-
Field Summary
Fields Modifier and Type Field Description private static Optimisation.Result
FAILED
private int
myNumberOfWorkers
private Optimisation.Options
myOptimisationOptions
private ProcessingService
myProcessingService
private java.util.concurrent.BlockingQueue<OptimisationService.Problem>
myQueue
private ForgetfulMap<java.lang.String,Optimisation.Result>
myResultCache
private ForgetfulMap<java.lang.String,OptimisationService.Status>
myStatusCache
-
Constructor Summary
Constructors Constructor Description OptimisationService()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private static Optimisation.Result
doOptimise(Optimisation.Sense sense, byte[] contents, ExpressionsBasedModel.FileFormat format)
private void
doOptimise(OptimisationService.Problem problem)
private static java.lang.String
generateKey()
Optimisation.Result
getResult(java.lang.String key)
OptimisationService.Status
getStatus(java.lang.String key)
static ServiceIntegration
newIntegration(java.lang.String host)
Optimisation.Result
optimise(Optimisation.Sense sense, byte[] contents, ExpressionsBasedModel.FileFormat format)
java.lang.String
putOnQueue(Optimisation.Sense sense, byte[] contents, ExpressionsBasedModel.FileFormat format)
-
-
-
Field Detail
-
FAILED
private static final Optimisation.Result FAILED
-
myNumberOfWorkers
private final int myNumberOfWorkers
-
myOptimisationOptions
private final Optimisation.Options myOptimisationOptions
-
myProcessingService
private final ProcessingService myProcessingService
-
myQueue
private final java.util.concurrent.BlockingQueue<OptimisationService.Problem> myQueue
-
myResultCache
private final ForgetfulMap<java.lang.String,Optimisation.Result> myResultCache
-
myStatusCache
private final ForgetfulMap<java.lang.String,OptimisationService.Status> myStatusCache
-
-
Method Detail
-
newIntegration
public static ServiceIntegration newIntegration(java.lang.String host)
-
doOptimise
private static Optimisation.Result doOptimise(Optimisation.Sense sense, byte[] contents, ExpressionsBasedModel.FileFormat format) throws RecoverableCondition
- Throws:
RecoverableCondition
-
generateKey
private static java.lang.String generateKey()
-
getResult
public Optimisation.Result getResult(java.lang.String key)
-
getStatus
public OptimisationService.Status getStatus(java.lang.String key)
-
optimise
public Optimisation.Result optimise(Optimisation.Sense sense, byte[] contents, ExpressionsBasedModel.FileFormat format)
-
putOnQueue
public java.lang.String putOnQueue(Optimisation.Sense sense, byte[] contents, ExpressionsBasedModel.FileFormat format) throws RecoverableCondition
- Throws:
RecoverableCondition
-
doOptimise
private void doOptimise(OptimisationService.Problem problem)
-
-