Originally posted by: SystemAdmin
[shadi said:]
hi,
i have a column generation problem, in oder to find always atleast one duty for each trip i created i tupleset RelaxationParameters which has all the possibilities of my parameters.
[b][i]var cpConfig = new IloOplRunConfiguration("btpair_no_preprocess.mod");
var cpModel = cpConfig.oplModel;
cpConfig.cp.param.LogVerbosity="Quiet";
cpModel.addDataSource(SettingData(cpData0,Opl.item(RelaxationParameters,RelaxationCounter).ctTripType, Opl.item(RelaxationParameters,RelaxationCounter).ctCover, Opl.item(RelaxationParameters,RelaxationCounter).ctPayCredit, Opl.item(RelaxationParameters,RelaxationCounter).ctRotation, Opl.item(RelaxationParameters,RelaxationCounter).ctDepot, Opl.item(RelaxationParameters,RelaxationCounter).ctBusType, Opl.item(RelaxationParameters,RelaxationCounter).ctPauseTime, t, nSeq, Opl.item(RelaxationParameters,RelaxationCounter).minStop, Opl.item(RelaxationParameters,RelaxationCounter).maxStop, Opl.item(RelaxationParameters,RelaxationCounter).longStop, Opl.item(RelaxationParameters,RelaxationCounter).PayCreditLevel));
cpModel.generate();
while (cpConfig.cp.solve()==false){
cpModel.addDataSource(SettingData(cpData0,Opl.item(RelaxationParameters,RelaxationCounter).ctTripType, Opl.item(RelaxationParameters,RelaxationCounter).ctCover, Opl.item(RelaxationParameters,RelaxationCounter).ctPayCredit, Opl.item(RelaxationParameters,RelaxationCounter).ctRotation, Opl.item(RelaxationParameters,RelaxationCounter).ctDepot, Opl.item(RelaxationParameters,RelaxationCounter).ctBusType, Opl.item(RelaxationParameters,RelaxationCounter).ctPauseTime, t, nSeq, Opl.item(RelaxationParameters,RelaxationCounter).minStop, Opl.item(RelaxationParameters,RelaxationCounter).maxStop, Opl.item(RelaxationParameters,RelaxationCounter).longStop, Opl.item(RelaxationParameters,RelaxationCounter).PayCreditLevel));
cpModel.generate();
RelaxationCounter++;
}[/i][/b]
so i want to change parameters until i find a atleast one solution.
***SettingData is a function which return a opldatasource:
[b][i]
function SettingData(cpData0, ctTripType, ctCover, ctPayCredit, ctRotation, ctDepot, ctBusType, ctPauseTime,t, nSeq, minStop, maxStop, longStop, PayCreditLevel){
cpData0.ctTripType=ctTripType;
cpData0.ctCover=ctCover;
cpData0.ctPayCredit=ctPayCredit;
cpData0.ctRotation=ctRotation;
cpData0.ctDepot=ctDepot;
cpData0.ctBusType=ctBusType;
cpData0.ctPauseTime=ctPauseTime;
cpData0.coverTrip = t;
cpData0.nSeq=nSeq;
cpData0.minStop = minStop;
cpData0.maxStop = maxStop;
cpData0.longStop = longStop;
cpData0.PayCreditLevel=PayCreditLevel;
return cpData0;
} [/i][/b]
i get the following error:
Re-generating an immutable OPL model has no effect.
what i have to do?
#CPOptimizer#DecisionOptimization