Allenfenqu/nsga2_direction_bijiao.py

17 lines
671 B
Python

import numpy as np
import pandas as pd
data = pd.read_excel('D:\\桌面\\fenqu_nsga\\output\\8_to_nsga\\lixiangjie_and_best_chromosome.xlsx', engine='openpyxl')
# data= pd.read_excel('direction.xlsx', engine='openpyxl')
data=data.to_numpy()
# 归一化每一列
normalized_data = (data - np.min(data, axis=0)) / (np.max(data, axis=0) - np.min(data, axis=0))
# 计算每一行到原点的距离
distances = np.sqrt(np.sum(normalized_data**2, axis=1))
fitness = np.minimum.accumulate(distances)
fitness_df = pd.DataFrame(fitness, columns=["Fitness"])
# 保存为xlsx文件
fitness_df.to_excel("fitness_bianhua_nsga_4.xlsx", index=False, engine='openpyxl')
print(fitness)