if np.sum(value) < target or elapsed_time > timeout: # 创建一个新的数据框,并将其添加到df_list列表中 yhjg = -value zc = yhjg - yhq_pjcyl new_df = pd.DataFrame({'优化前X坐标': CSX,'优化前Y坐标': CSY, '优化前靶点位置': yhq_bdwz, '优化前射孔厚度': yhq_skhd, '优化前平均产油量':yhq_pjcyl,'优化后X坐标': x[0],'优化后Y坐标': x[1], '优化后靶点位置': x[2], '优化后射孔厚度': x[3],'优化后平均产油量':yhjg,'优化后前后结果变化':zc}, index=[0]) df_list.append(new_df) # 将df_list列表中的所有数据框连接成一个单独的数据框 final_df = pd.concat(df_list) # 将最终数据框写入新的Excel文件 final_df.to_excel(f'D:\\czjblx\\smmx\\clf-pcl\\TEST\\yh_test\\yhtest_{i}.xlsx', index=False) break这是优化模型输出的条件语句,如何修改成为当计算出的value值最小的时候停止优化迭代
时间: 2024-02-10 21:09:02 浏览: 59
test_all_time.zip_test alltime_程序运行时间
要实现当计算出的value值最小的时候停止优化迭代,可以将if语句中的条件改为判断是否达到最小值,例如:
```
if np.min(value) < target or elapsed_time > timeout:
# 创建一个新的数据框,并将其添加到df_list列表中
yhjg = -value
zc = yhjg - yhq_pjcyl
new_df = pd.DataFrame({'优化前X坐标': CSX,'优化前Y坐标': CSY,
'优化前靶点位置': yhq_bdwz, '优化前射孔厚度': yhq_skhd,
'优化前平均产油量':yhq_pjcyl,'优化后X坐标': x[0],'优化后Y坐标': x[1], '优化后靶点位置': x[2],
'优化后射孔厚度': x[3],'优化后平均产油量':yhjg,'优化后前后结果变化':zc}, index=[0])
df_list.append(new_df)
# 将df_list列表中的所有数据框连接成一个单独的数据框
final_df = pd.concat(df_list)
# 将最终数据框写入新的Excel文件
final_df.to_excel(f'D:\\czjblx\\smmx\\clf-pcl\\TEST\\yh_test\\yhtest_{i}.xlsx', index=False)
break
```
这样,当value的最小值小于target时,程序就会停止优化迭代。
阅读全文