Я пытаюсь найти двойные значения ограничения для кода, прилагаемого к настоящему документу.Я только упомянул ограничение, двойственность которого я хочу найти.Как мне найти двойственное ограничение6, как указано в коде?
int NbJobs=10;
int NbMachines=2;
range Job=1..NbJobs;
range Machine= 1..NbMachines;
int JobProcessTime[Job]=...;
int JobReadyTime[Job]=...;
int JobSize[Job]=...;
int JobDueDate[Job]=...;
int MachineCapacity[Machine]=...;
float E=99999;
float e=.000001;
float Dual1[Job]=...;
tuple Batches{
key int id;
int BatchSetup[Job];
float BatchReadyTime;
float BatchProcessTime;
}
{Batches} BatchConfig=...;
dvar boolean NbTardy[Job];
dvar boolean BatchSelected[BatchConfig][Machine];
dvar float+ BatchCompletionTime[BatchConfig][Machine];
dvar float+ JobCompletionTime[Job];
minimize sum(j in Job) NbTardy[j];
subject to {
forall (j in Job, b in BatchConfig, m in Machine) Constraint6: JobCompletionTime[j]>= BatchCompletionTime[b][m]- E*(1-b.BatchSetup[j]*BatchSelected[b][m]);
}