Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在CPLEX中处理超出范围的问题_Cplex - Fatal编程技术网

如何在CPLEX中处理超出范围的问题

如何在CPLEX中处理超出范围的问题,cplex,Cplex,大家好!!下面的问题,需要您的帮助 使用CP int=50 int=7 int nbDays=30 靶场导频=1..n导频 范围天数=1..n天 范围位置=1..n个位置 dvar布尔分配[飞行员][天数][地点] dvar布尔休息[飞行员][天数][地点] 最大限度地分配[i][j][l] 服从{ 对于所有(我在飞行员中,j在天,l在地点)(分配[i][j][l]+分配[i][j+1][l]+分配[i][j+2][l]+分配[i][j+3][l]+分配[i][j+4][l]+分配[i][j+5

大家好!!下面的问题,需要您的帮助

使用CP

int=50

int=7

int nbDays=30

靶场导频=1..n导频

范围天数=1..n天

范围位置=1..n个位置

dvar布尔分配[飞行员][天数][地点]

dvar布尔休息[飞行员][天数][地点]

最大限度地分配[i][j][l]

服从{

对于所有(我在飞行员中,j在天,l在地点)(分配[i][j][l]+分配[i][j+1][l]+分配[i][j+2][l]+分配[i][j+3][l]+分配[i][j+4][l]+分配[i][j+5][l]+分配[i][j+6][l]+剩余[i][j+7][l]+剩余[i][j+8][l]==9);]

我如何处理[j+8]也在几天内的问题 很好

using CP;
int nbPilots = 50; 
int nbLocations = 7; 
int nbDays = 30;

range pilots = 1..nbPilots; range days = 1..nbDays; range locations = 1..nbLocations;

//decision variable/ 

dvar boolean assign [pilots][days][locations] ; dvar boolean rest [pilots][days][locations];

//objective/ 

minimize sum(i in pilots, j in days, l in locations)assign[i][j][l];

//constraints/
 subject to{


forall(i in pilots, j in days, l in locations:(j+8) in days)
  (assign[i][j][l]+assign[i][j+1][l]+assign[i][j+2][l]+assign[i][j+3][l]+
  assign[i][j+4][l]+assign[i][j+5][l]+assign[i][j+6][l]+rest[i][j+7][l]+rest[i][j+8][l] == 9);



}