public abstract class ILPModelCPLEX
extends ilog.opl.IloCustomOplDataSource
| Modifier and Type | Field and Description |
|---|---|
protected java.lang.Class<?>[] |
extensions |
protected ilog.opl.IloOplFactory |
factory |
protected PrefixClosedLanguage |
l |
protected java.util.Map<org.deckfour.xes.classification.XEventClass,java.lang.Integer> |
m |
protected org.processmining.plugins.log.logabstraction.LogRelations |
r |
protected java.util.Set<ILPMinerSolution> |
solutions |
protected java.util.Map<ILPMinerSettings.SolverSetting,java.lang.Object> |
solverSettings |
| Constructor and Description |
|---|
ILPModelCPLEX(ilog.opl.IloOplFactory factory,
java.lang.Class<?>[] extensions,
java.util.Map<ILPMinerSettings.SolverSetting,java.lang.Object> solverSettings,
ILPModelSettings settings) |
| Modifier and Type | Method and Description |
|---|---|
protected abstract ILPMinerSolution |
addSolution(ilog.opl.IloOplModel opl)
converts the CPLEX result in a solution (place representation) and adds
it to the set of found solutions
|
void |
findPetriNetPlaces(java.util.Map<org.deckfour.xes.classification.XEventClass,java.lang.Integer> indices,
PrefixClosedLanguage pfclang,
org.processmining.plugins.log.logabstraction.LogRelations relations,
org.processmining.framework.plugin.PluginContext context)
Builds the ILP problem and executes it.
|
static java.lang.String |
getAuthor(java.lang.Class<?> strategy) |
static java.lang.String |
getDescription(java.lang.Class<?> strategy) |
java.lang.String |
getExtensionConstraints()
adds all the extensions constraints to the problem via reflection
|
abstract java.lang.String |
getModel() |
static java.lang.String |
getName(java.lang.Class<?> strategy) |
static java.lang.Object[] |
getSettingsGUI(com.fluxicon.slickerbox.factory.SlickerFactory f,
java.lang.Class<?> strategy)
Explicitly override this method in each subclass, otherwise it will not
correctly acces the static properties!
|
java.util.Set<ILPMinerSolution> |
getSolutions()
returns the solutions found with processModel
|
static void |
loadLibraries()
Loads the required jar and dll files (from the location) provided by the
user via the settings if not loaded already and creates a solverfactory
|
abstract void |
makeData()
Generates the model specific data from the generic data
|
protected abstract void |
processModel(org.processmining.framework.plugin.PluginContext context,
ilog.opl.IloOplSettings settings,
ilog.cplex.IloCplex cp)
Finds the solutions required for this model
|
protected ILPMinerSolution |
solve(org.processmining.framework.plugin.PluginContext context,
ilog.opl.IloOplModelDefinition def,
ilog.cplex.IloCplex cp)
solves the model in the modeldefinition with this being the data source
|
protected java.util.Set<ILPMinerSolution> solutions
protected java.lang.Class<?>[] extensions
protected java.util.Map<org.deckfour.xes.classification.XEventClass,java.lang.Integer> m
protected PrefixClosedLanguage l
protected org.processmining.plugins.log.logabstraction.LogRelations r
protected java.util.Map<ILPMinerSettings.SolverSetting,java.lang.Object> solverSettings
protected ilog.opl.IloOplFactory factory
public ILPModelCPLEX(ilog.opl.IloOplFactory factory,
java.lang.Class<?>[] extensions,
java.util.Map<ILPMinerSettings.SolverSetting,java.lang.Object> solverSettings,
ILPModelSettings settings)
public abstract void makeData()
indices - l - relations - public void findPetriNetPlaces(java.util.Map<org.deckfour.xes.classification.XEventClass,java.lang.Integer> indices,
PrefixClosedLanguage pfclang,
org.processmining.plugins.log.logabstraction.LogRelations relations,
org.processmining.framework.plugin.PluginContext context)
throws java.io.IOException,
ilog.concert.IloException
indices - - mapping between eventclasses and integersl - - PFC Languagerelations - context - java.io.IOExceptionilog.concert.IloExceptionpublic abstract java.lang.String getModel()
public static void loadLibraries()
throws java.io.IOException
java.io.IOExceptionprotected abstract void processModel(org.processmining.framework.plugin.PluginContext context,
ilog.opl.IloOplSettings settings,
ilog.cplex.IloCplex cp)
context - settings - cp - protected ILPMinerSolution solve(org.processmining.framework.plugin.PluginContext context, ilog.opl.IloOplModelDefinition def, ilog.cplex.IloCplex cp)
context - def - - opl model definitioncp - protected abstract ILPMinerSolution addSolution(ilog.opl.IloOplModel opl)
opl - - opl modelpublic java.util.Set<ILPMinerSolution> getSolutions()
public static java.lang.String getName(java.lang.Class<?> strategy)
public static java.lang.String getAuthor(java.lang.Class<?> strategy)
public static java.lang.String getDescription(java.lang.Class<?> strategy)
public static java.lang.Object[] getSettingsGUI(com.fluxicon.slickerbox.factory.SlickerFactory f,
java.lang.Class<?> strategy)
slickerfactory - to generate a nice layoutpublic java.lang.String getExtensionConstraints()
problem -