17 lines
671 B
Python
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)
|