MAX_ITERATIONS = 300 iteration = 0 while sp_obj <= -tol:#就是如果子问题的目标函数值小于0,人家才会迭代的意思吗?np.abs(reduced_cost) <= TOL or reduced_cost >= 0 route_sequence.append(new_path) pi,obj,include,route_cost=rmp(customer_number,route_sequence) sp_obj,new_path,new_path_cost,x_mat =sp(customer_number,vertex_number,ready_time,due_time,vehicle_capacity, vehicle_number,demand,B,pi) iteration += 1 print('目前的迭代次数为:',iteration) if iteration == MAX_ITERATIONS: print("Reached maximum number of iterations.")这个代码中为什么if函数不起作用
时间: 2024-03-05 11:47:20 浏览: 128
Python查找函数f(x)=0根的解决方法
根据你提供的代码,if函数应该是起作用的。但是需要注意的是,if函数仅在while循环结束后执行一次,而不是在每次循环迭代时都执行。因此,如果在循环中想要查看if函数的执行情况,需要在循环内部添加一些打印语句来观察。同时,你可以检查一下MAX_ITERATIONS和tol的值是否合理,以及reduced_cost的计算是否正确。
阅读全文