如何在 CPLEX 上编辑有关元组的代码?
How can I edit my code on CPLEX about tuple?
晚上好!我创建了这个元组,在其中我用 1 来标识可以在晚上执行的工作,用 0 来标识白天可以执行的工作。在集合 D 中,我只想 select 可以在晚上执行的工作,因此 nightyes 等于 1 的工作。所以在我的示例中,我希望 D 等于 (1,4,5)。我以这种方式尝试,但 CPLEX returns 不分青红皂白地执行所有作业。我该如何更改此代码?谢谢。
元组之夜{
内部职位;
int nightyes;
}
{night} jobsnotturni =...;
{int} nightyes = {i.nightyes|我在 jobsnotturni };
{int} D = {i.jobs|i 在 jobsnotturni, n 在 nightyes : n==1};
jobsnotturni = {<1,1>, <2,0>,<3,0>,<4,1>,<5,1>};
如果您将 .mod 更改为
tuple night {
int jobs; int nightyes;
}
{night} jobsnotturni =...;
{int} nightyes = {i.nightyes|i in jobsnotturni };
{int} D = {i.jobs|i in jobsnotturni: i.nightyes==1};
execute
{
writeln(D);
}
然后你会得到
{1 4 5}
晚上好!我创建了这个元组,在其中我用 1 来标识可以在晚上执行的工作,用 0 来标识白天可以执行的工作。在集合 D 中,我只想 select 可以在晚上执行的工作,因此 nightyes 等于 1 的工作。所以在我的示例中,我希望 D 等于 (1,4,5)。我以这种方式尝试,但 CPLEX returns 不分青红皂白地执行所有作业。我该如何更改此代码?谢谢。
元组之夜{
内部职位; int nightyes;
}
{night} jobsnotturni =...;
{int} nightyes = {i.nightyes|我在 jobsnotturni };
{int} D = {i.jobs|i 在 jobsnotturni, n 在 nightyes : n==1};
jobsnotturni = {<1,1>, <2,0>,<3,0>,<4,1>,<5,1>};
如果您将 .mod 更改为
tuple night {
int jobs; int nightyes;
}
{night} jobsnotturni =...;
{int} nightyes = {i.nightyes|i in jobsnotturni };
{int} D = {i.jobs|i in jobsnotturni: i.nightyes==1};
execute
{
writeln(D);
}
然后你会得到
{1 4 5}