2025-03-17 16:40:01 +08:00
|
|
|
{
|
|
|
|
"cells": [
|
|
|
|
{
|
|
|
|
"cell_type": "code",
|
2025-03-28 11:37:04 +08:00
|
|
|
"execution_count": 2,
|
2025-03-17 16:40:01 +08:00
|
|
|
"metadata": {},
|
|
|
|
"outputs": [],
|
|
|
|
"source": [
|
|
|
|
"import sys\n",
|
|
|
|
"sys.path.append(\"C:/Users/Lenovo/Desktop/LEAD/\")\n",
|
|
|
|
"from gcdata.gc import *\n",
|
|
|
|
"from gcdata.gc1 import *"
|
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"cell_type": "code",
|
2025-03-28 11:37:04 +08:00
|
|
|
"execution_count": 3,
|
2025-03-17 16:40:01 +08:00
|
|
|
"metadata": {},
|
|
|
|
"outputs": [
|
|
|
|
{
|
|
|
|
"name": "stdout",
|
|
|
|
"output_type": "stream",
|
|
|
|
"text": [
|
|
|
|
"['DSJC0125.1.txt', 'DSJC0125.5.txt', 'DSJC0125.9.txt', 'DSJC0250.1.txt', 'DSJC0250.5.txt', 'DSJC0250.9.txt', 'DSJC0500.1.txt', 'DSJC0500.5.txt', 'DSJC0500.9.txt', 'DSJC1000.1.txt', 'DSJC1000.5.txt', 'DSJC1000.9.txt']\n"
|
|
|
|
]
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"source": [
|
|
|
|
"import os\n",
|
|
|
|
"import numpy as np\n",
|
|
|
|
"import time\n",
|
|
|
|
"import matplotlib.pyplot as plt\n",
|
|
|
|
"\n",
|
|
|
|
"# 获取gcdata目录下所有txt文件\n",
|
|
|
|
"data_dir = \"C:/Users/Lenovo/Desktop/LEAD/\"\n",
|
|
|
|
"data_dir2 = \"C:/Users/Lenovo/Desktop/LEAD/gcdata/\"\n",
|
|
|
|
"test_files = [f for f in os.listdir(data_dir2) if f.endswith('txt')]\n",
|
|
|
|
"print(test_files)"
|
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"cell_type": "code",
|
2025-03-28 11:37:04 +08:00
|
|
|
"execution_count": 4,
|
2025-03-17 16:40:01 +08:00
|
|
|
"metadata": {},
|
|
|
|
"outputs": [],
|
|
|
|
"source": [
|
|
|
|
"# 定义评估函数\n",
|
|
|
|
"def evaluate_coloring(coloring_func, adj_matrix):\n",
|
|
|
|
" \"\"\"评估图着色算法的性能\"\"\"\n",
|
|
|
|
" try:\n",
|
|
|
|
" # 计时并执行图着色\n",
|
|
|
|
" start_time = time.time()\n",
|
|
|
|
" colors = coloring_func(adj_matrix)\n",
|
|
|
|
" end_time = time.time()\n",
|
|
|
|
" execution_time = end_time - start_time\n",
|
|
|
|
" \n",
|
|
|
|
" # 检查解的合法性\n",
|
|
|
|
" n = len(adj_matrix)\n",
|
|
|
|
" for i in range(n):\n",
|
|
|
|
" for j in range(n):\n",
|
|
|
|
" if adj_matrix[i][j] == 1 and colors[i] == colors[j]:\n",
|
|
|
|
" print(f\"非法解:节点{i}和{j}相邻但颜色相同\")\n",
|
|
|
|
" return float('inf')\n",
|
|
|
|
" \n",
|
|
|
|
" # 计算使用的颜色数\n",
|
|
|
|
" num_colors = len(set(colors))\n",
|
|
|
|
" \n",
|
|
|
|
" print(f\"执行时间:{execution_time:.4f}秒, 使用颜色数:{num_colors}\")\n",
|
|
|
|
" return num_colors,execution_time\n",
|
|
|
|
" \n",
|
|
|
|
" except Exception as e:\n",
|
|
|
|
" print(f\"评估过程出错: {str(e)}\")\n",
|
|
|
|
" return float('inf')\n",
|
|
|
|
"\n",
|
|
|
|
"# 定义数据加载函数 \n",
|
|
|
|
"def load_graph_data(filename):\n",
|
|
|
|
" \"\"\"读取图着色问题数据\"\"\"\n",
|
|
|
|
" try:\n",
|
|
|
|
" filepath = os.path.join(data_dir2, filename)\n",
|
|
|
|
" with open(filepath, 'r') as f:\n",
|
|
|
|
" first_line = f.readline().strip().split()\n",
|
|
|
|
" n_vertices = int(first_line[0])\n",
|
|
|
|
" \n",
|
|
|
|
" adj_matrix = np.zeros((n_vertices, n_vertices), dtype=np.int32)\n",
|
|
|
|
" \n",
|
|
|
|
" for line in f:\n",
|
|
|
|
" v1, v2 = map(int, line.strip().split())\n",
|
|
|
|
" adj_matrix[v1][v2] = 1\n",
|
|
|
|
" adj_matrix[v2][v1] = 1\n",
|
|
|
|
" \n",
|
|
|
|
" return adj_matrix\n",
|
|
|
|
" \n",
|
|
|
|
" except Exception as e:\n",
|
|
|
|
" print(f\"读取数据出错: {str(e)}\")\n",
|
|
|
|
" return None"
|
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"cell_type": "code",
|
2025-03-28 11:37:04 +08:00
|
|
|
"execution_count": 5,
|
2025-03-17 16:40:01 +08:00
|
|
|
"metadata": {},
|
|
|
|
"outputs": [
|
|
|
|
{
|
|
|
|
"name": "stdout",
|
|
|
|
"output_type": "stream",
|
|
|
|
"text": [
|
|
|
|
"\n",
|
|
|
|
"测试实例: DSJC0125.1.txt\n",
|
|
|
|
"\n",
|
|
|
|
"使用算法: FunSearch-MCP\n",
|
2025-03-28 11:37:04 +08:00
|
|
|
"执行时间:0.0065秒, 使用颜色数:7\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"\n",
|
|
|
|
"使用算法: EoH-MCP\n",
|
2025-03-28 11:37:04 +08:00
|
|
|
"执行时间:0.2940秒, 使用颜色数:6\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"\n",
|
2025-03-18 16:51:30 +08:00
|
|
|
"使用算法: AAE-MCP\n",
|
2025-03-28 11:37:04 +08:00
|
|
|
"执行时间:0.0156秒, 使用颜色数:6\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"\n",
|
|
|
|
"使用算法: 贪心\n",
|
2025-03-28 11:37:04 +08:00
|
|
|
"执行时间:0.0034秒, 使用颜色数:8\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"\n",
|
|
|
|
"使用算法: Welsh-Powell\n",
|
2025-03-18 16:51:30 +08:00
|
|
|
"执行时间:0.0020秒, 使用颜色数:7\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"\n",
|
|
|
|
"使用算法: DSATUR\n",
|
2025-03-28 11:37:04 +08:00
|
|
|
"执行时间:0.1971秒, 使用颜色数:6\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"\n",
|
|
|
|
"测试实例: DSJC0125.5.txt\n",
|
|
|
|
"\n",
|
|
|
|
"使用算法: FunSearch-MCP\n",
|
2025-03-28 11:37:04 +08:00
|
|
|
"执行时间:0.0030秒, 使用颜色数:24\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"\n",
|
|
|
|
"使用算法: EoH-MCP\n",
|
2025-03-28 11:37:04 +08:00
|
|
|
"执行时间:0.3150秒, 使用颜色数:22\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"\n",
|
2025-03-18 16:51:30 +08:00
|
|
|
"使用算法: AAE-MCP\n",
|
2025-03-28 11:37:04 +08:00
|
|
|
"执行时间:0.0125秒, 使用颜色数:22\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"\n",
|
|
|
|
"使用算法: 贪心\n",
|
2025-03-28 11:37:04 +08:00
|
|
|
"执行时间:0.0020秒, 使用颜色数:26\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"\n",
|
|
|
|
"使用算法: Welsh-Powell\n",
|
|
|
|
"执行时间:0.0030秒, 使用颜色数:23\n",
|
|
|
|
"\n",
|
|
|
|
"使用算法: DSATUR\n",
|
2025-03-28 11:37:04 +08:00
|
|
|
"执行时间:0.2150秒, 使用颜色数:22\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"\n",
|
|
|
|
"测试实例: DSJC0125.9.txt\n",
|
|
|
|
"\n",
|
|
|
|
"使用算法: FunSearch-MCP\n",
|
2025-03-28 11:37:04 +08:00
|
|
|
"执行时间:0.0030秒, 使用颜色数:53\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"\n",
|
|
|
|
"使用算法: EoH-MCP\n",
|
2025-03-28 11:37:04 +08:00
|
|
|
"执行时间:0.3702秒, 使用颜色数:51\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"\n",
|
2025-03-18 16:51:30 +08:00
|
|
|
"使用算法: AAE-MCP\n",
|
2025-03-28 11:37:04 +08:00
|
|
|
"执行时间:0.0171秒, 使用颜色数:51\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"\n",
|
|
|
|
"使用算法: 贪心\n",
|
2025-03-18 16:51:30 +08:00
|
|
|
"执行时间:0.0030秒, 使用颜色数:56\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"\n",
|
|
|
|
"使用算法: Welsh-Powell\n",
|
2025-03-28 11:37:04 +08:00
|
|
|
"执行时间:0.0060秒, 使用颜色数:53\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"\n",
|
|
|
|
"使用算法: DSATUR\n",
|
2025-03-28 11:37:04 +08:00
|
|
|
"执行时间:0.2429秒, 使用颜色数:51\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"\n",
|
|
|
|
"测试实例: DSJC0250.1.txt\n",
|
|
|
|
"\n",
|
|
|
|
"使用算法: FunSearch-MCP\n",
|
2025-03-28 11:37:04 +08:00
|
|
|
"执行时间:0.0135秒, 使用颜色数:12\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"\n",
|
|
|
|
"使用算法: EoH-MCP\n",
|
2025-03-28 11:37:04 +08:00
|
|
|
"执行时间:1.9738秒, 使用颜色数:10\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"\n",
|
2025-03-18 16:51:30 +08:00
|
|
|
"使用算法: AAE-MCP\n",
|
2025-03-28 11:37:04 +08:00
|
|
|
"执行时间:0.0218秒, 使用颜色数:10\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"\n",
|
|
|
|
"使用算法: 贪心\n",
|
2025-03-28 11:37:04 +08:00
|
|
|
"执行时间:0.0092秒, 使用颜色数:13\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"\n",
|
|
|
|
"使用算法: Welsh-Powell\n",
|
2025-03-28 11:37:04 +08:00
|
|
|
"执行时间:0.0083秒, 使用颜色数:11\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"\n",
|
|
|
|
"使用算法: DSATUR\n",
|
2025-03-28 11:37:04 +08:00
|
|
|
"执行时间:1.5016秒, 使用颜色数:10\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"\n",
|
|
|
|
"测试实例: DSJC0250.5.txt\n",
|
|
|
|
"\n",
|
|
|
|
"使用算法: FunSearch-MCP\n",
|
2025-03-28 11:37:04 +08:00
|
|
|
"执行时间:0.0154秒, 使用颜色数:40\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"\n",
|
|
|
|
"使用算法: EoH-MCP\n",
|
2025-03-28 11:37:04 +08:00
|
|
|
"执行时间:2.3612秒, 使用颜色数:37\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"\n",
|
2025-03-18 16:51:30 +08:00
|
|
|
"使用算法: AAE-MCP\n",
|
2025-03-28 11:37:04 +08:00
|
|
|
"执行时间:0.0877秒, 使用颜色数:37\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"\n",
|
|
|
|
"使用算法: 贪心\n",
|
2025-03-28 11:37:04 +08:00
|
|
|
"执行时间:0.0085秒, 使用颜色数:43\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"\n",
|
|
|
|
"使用算法: Welsh-Powell\n",
|
2025-03-28 11:37:04 +08:00
|
|
|
"执行时间:0.0140秒, 使用颜色数:41\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"\n",
|
|
|
|
"使用算法: DSATUR\n",
|
2025-03-28 11:37:04 +08:00
|
|
|
"执行时间:1.6691秒, 使用颜色数:37\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"\n",
|
|
|
|
"测试实例: DSJC0250.9.txt\n",
|
|
|
|
"\n",
|
|
|
|
"使用算法: FunSearch-MCP\n",
|
2025-03-28 11:37:04 +08:00
|
|
|
"执行时间:0.0147秒, 使用颜色数:92\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"\n",
|
|
|
|
"使用算法: EoH-MCP\n",
|
2025-03-28 11:37:04 +08:00
|
|
|
"执行时间:2.8340秒, 使用颜色数:92\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"\n",
|
2025-03-18 16:51:30 +08:00
|
|
|
"使用算法: AAE-MCP\n",
|
2025-03-28 11:37:04 +08:00
|
|
|
"执行时间:0.0724秒, 使用颜色数:92\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"\n",
|
|
|
|
"使用算法: 贪心\n",
|
2025-03-18 16:51:30 +08:00
|
|
|
"执行时间:0.0105秒, 使用颜色数:99\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"\n",
|
|
|
|
"使用算法: Welsh-Powell\n",
|
2025-03-28 11:37:04 +08:00
|
|
|
"执行时间:0.0346秒, 使用颜色数:93\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"\n",
|
|
|
|
"使用算法: DSATUR\n",
|
2025-03-28 11:37:04 +08:00
|
|
|
"执行时间:2.0043秒, 使用颜色数:92\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"\n",
|
|
|
|
"测试实例: DSJC0500.1.txt\n",
|
|
|
|
"\n",
|
|
|
|
"使用算法: FunSearch-MCP\n",
|
2025-03-28 11:37:04 +08:00
|
|
|
"执行时间:0.0501秒, 使用颜色数:18\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"\n",
|
|
|
|
"使用算法: EoH-MCP\n",
|
2025-03-28 11:37:04 +08:00
|
|
|
"执行时间:15.5829秒, 使用颜色数:16\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"\n",
|
2025-03-18 16:51:30 +08:00
|
|
|
"使用算法: AAE-MCP\n",
|
2025-03-28 11:37:04 +08:00
|
|
|
"执行时间:0.0800秒, 使用颜色数:16\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"\n",
|
|
|
|
"使用算法: 贪心\n",
|
2025-03-28 11:37:04 +08:00
|
|
|
"执行时间:0.0382秒, 使用颜色数:20\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"\n",
|
|
|
|
"使用算法: Welsh-Powell\n",
|
2025-03-28 11:37:04 +08:00
|
|
|
"执行时间:0.0431秒, 使用颜色数:18\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"\n",
|
|
|
|
"使用算法: DSATUR\n",
|
2025-03-28 11:37:04 +08:00
|
|
|
"执行时间:12.7058秒, 使用颜色数:16\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"\n",
|
|
|
|
"测试实例: DSJC0500.5.txt\n",
|
|
|
|
"\n",
|
|
|
|
"使用算法: FunSearch-MCP\n",
|
2025-03-18 16:51:30 +08:00
|
|
|
"执行时间:0.0556秒, 使用颜色数:68\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"\n",
|
|
|
|
"使用算法: EoH-MCP\n",
|
2025-03-28 11:37:04 +08:00
|
|
|
"执行时间:18.9277秒, 使用颜色数:65\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"\n",
|
2025-03-18 16:51:30 +08:00
|
|
|
"使用算法: AAE-MCP\n",
|
2025-03-28 11:37:04 +08:00
|
|
|
"执行时间:0.1925秒, 使用颜色数:65\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"\n",
|
|
|
|
"使用算法: 贪心\n",
|
2025-03-28 11:37:04 +08:00
|
|
|
"执行时间:0.0468秒, 使用颜色数:72\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"\n",
|
|
|
|
"使用算法: Welsh-Powell\n",
|
2025-03-28 11:37:04 +08:00
|
|
|
"执行时间:0.0844秒, 使用颜色数:71\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"\n",
|
|
|
|
"使用算法: DSATUR\n",
|
2025-03-28 11:37:04 +08:00
|
|
|
"执行时间:13.6119秒, 使用颜色数:65\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"\n",
|
|
|
|
"测试实例: DSJC0500.9.txt\n",
|
|
|
|
"\n",
|
|
|
|
"使用算法: FunSearch-MCP\n",
|
2025-03-28 11:37:04 +08:00
|
|
|
"执行时间:0.0604秒, 使用颜色数:171\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"\n",
|
|
|
|
"使用算法: EoH-MCP\n",
|
2025-03-28 11:37:04 +08:00
|
|
|
"执行时间:22.3392秒, 使用颜色数:170\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"\n",
|
2025-03-18 16:51:30 +08:00
|
|
|
"使用算法: AAE-MCP\n",
|
2025-03-28 11:37:04 +08:00
|
|
|
"执行时间:0.4155秒, 使用颜色数:170\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"\n",
|
|
|
|
"使用算法: 贪心\n",
|
2025-03-28 11:37:04 +08:00
|
|
|
"执行时间:0.0556秒, 使用颜色数:175\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"\n",
|
|
|
|
"使用算法: Welsh-Powell\n",
|
2025-03-28 11:37:04 +08:00
|
|
|
"执行时间:0.2574秒, 使用颜色数:169\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"\n",
|
|
|
|
"使用算法: DSATUR\n",
|
2025-03-28 11:37:04 +08:00
|
|
|
"执行时间:15.6913秒, 使用颜色数:170\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"\n",
|
|
|
|
"测试实例: DSJC1000.1.txt\n",
|
|
|
|
"\n",
|
|
|
|
"使用算法: FunSearch-MCP\n",
|
2025-03-28 11:37:04 +08:00
|
|
|
"执行时间:0.2285秒, 使用颜色数:29\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"\n",
|
|
|
|
"使用算法: EoH-MCP\n",
|
2025-03-28 11:37:04 +08:00
|
|
|
"执行时间:121.8734秒, 使用颜色数:27\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"\n",
|
2025-03-18 16:51:30 +08:00
|
|
|
"使用算法: AAE-MCP\n",
|
2025-03-28 11:37:04 +08:00
|
|
|
"执行时间:0.3822秒, 使用颜色数:27\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"\n",
|
|
|
|
"使用算法: 贪心\n",
|
2025-03-28 11:37:04 +08:00
|
|
|
"执行时间:0.1491秒, 使用颜色数:31\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"\n",
|
|
|
|
"使用算法: Welsh-Powell\n",
|
2025-03-28 11:37:04 +08:00
|
|
|
"执行时间:0.2108秒, 使用颜色数:29\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"\n",
|
|
|
|
"使用算法: DSATUR\n",
|
2025-03-28 11:37:04 +08:00
|
|
|
"执行时间:102.3721秒, 使用颜色数:27\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"\n",
|
|
|
|
"测试实例: DSJC1000.5.txt\n",
|
|
|
|
"\n",
|
|
|
|
"使用算法: FunSearch-MCP\n",
|
2025-03-28 11:37:04 +08:00
|
|
|
"执行时间:0.2249秒, 使用颜色数:123\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"\n",
|
|
|
|
"使用算法: EoH-MCP\n",
|
2025-03-28 11:37:04 +08:00
|
|
|
"执行时间:151.4883秒, 使用颜色数:115\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"\n",
|
2025-03-18 16:51:30 +08:00
|
|
|
"使用算法: AAE-MCP\n",
|
2025-03-28 11:37:04 +08:00
|
|
|
"执行时间:0.9123秒, 使用颜色数:115\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"\n",
|
|
|
|
"使用算法: 贪心\n",
|
2025-03-28 11:37:04 +08:00
|
|
|
"执行时间:0.1647秒, 使用颜色数:127\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"\n",
|
|
|
|
"使用算法: Welsh-Powell\n",
|
2025-03-28 11:37:04 +08:00
|
|
|
"执行时间:0.4821秒, 使用颜色数:121\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"\n",
|
|
|
|
"使用算法: DSATUR\n",
|
2025-03-28 11:37:04 +08:00
|
|
|
"执行时间:113.0633秒, 使用颜色数:115\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"\n",
|
|
|
|
"测试实例: DSJC1000.9.txt\n",
|
|
|
|
"\n",
|
|
|
|
"使用算法: FunSearch-MCP\n",
|
2025-03-28 11:37:04 +08:00
|
|
|
"执行时间:0.2294秒, 使用颜色数:316\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"\n",
|
|
|
|
"使用算法: EoH-MCP\n",
|
2025-03-28 11:37:04 +08:00
|
|
|
"执行时间:169.8972秒, 使用颜色数:299\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"\n",
|
2025-03-18 16:51:30 +08:00
|
|
|
"使用算法: AAE-MCP\n",
|
2025-03-28 11:37:04 +08:00
|
|
|
"执行时间:1.4054秒, 使用颜色数:299\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"\n",
|
|
|
|
"使用算法: 贪心\n",
|
2025-03-28 11:37:04 +08:00
|
|
|
"执行时间:0.1765秒, 使用颜色数:321\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"\n",
|
|
|
|
"使用算法: Welsh-Powell\n",
|
2025-03-28 11:37:04 +08:00
|
|
|
"执行时间:1.3390秒, 使用颜色数:313\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"\n",
|
|
|
|
"使用算法: DSATUR\n",
|
2025-03-28 11:37:04 +08:00
|
|
|
"执行时间:113.5548秒, 使用颜色数:299\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"\n",
|
|
|
|
"所有算法在各个实例上的表现:\n",
|
|
|
|
"\n",
|
|
|
|
"FunSearch-MCP:\n",
|
|
|
|
" DSJC0125.1.txt: 使用颜色数 = 7\n",
|
|
|
|
" DSJC0125.5.txt: 使用颜色数 = 24\n",
|
|
|
|
" DSJC0125.9.txt: 使用颜色数 = 53\n",
|
|
|
|
" DSJC0250.1.txt: 使用颜色数 = 12\n",
|
|
|
|
" DSJC0250.5.txt: 使用颜色数 = 40\n",
|
|
|
|
" DSJC0250.9.txt: 使用颜色数 = 92\n",
|
|
|
|
" DSJC0500.1.txt: 使用颜色数 = 18\n",
|
|
|
|
" DSJC0500.5.txt: 使用颜色数 = 68\n",
|
|
|
|
" DSJC0500.9.txt: 使用颜色数 = 171\n",
|
|
|
|
" DSJC1000.1.txt: 使用颜色数 = 29\n",
|
|
|
|
" DSJC1000.5.txt: 使用颜色数 = 123\n",
|
|
|
|
" DSJC1000.9.txt: 使用颜色数 = 316\n",
|
2025-03-28 11:37:04 +08:00
|
|
|
" FunSearch-MCP: 执行时间 = {'DSJC0125.1.txt': 0.006541728973388672, 'DSJC0125.5.txt': 0.003002643585205078, 'DSJC0125.9.txt': 0.0030024051666259766, 'DSJC0250.1.txt': 0.01353764533996582, 'DSJC0250.5.txt': 0.015435218811035156, 'DSJC0250.9.txt': 0.014726877212524414, 'DSJC0500.1.txt': 0.05006003379821777, 'DSJC0500.5.txt': 0.05561065673828125, 'DSJC0500.9.txt': 0.06039857864379883, 'DSJC1000.1.txt': 0.22848773002624512, 'DSJC1000.5.txt': 0.22493863105773926, 'DSJC1000.9.txt': 0.22939729690551758}\n",
|
|
|
|
" EoH-MCP: 执行时间 = {'DSJC0125.1.txt': 0.29399943351745605, 'DSJC0125.5.txt': 0.31499505043029785, 'DSJC0125.9.txt': 0.37015247344970703, 'DSJC0250.1.txt': 1.9738132953643799, 'DSJC0250.5.txt': 2.361232042312622, 'DSJC0250.9.txt': 2.8340067863464355, 'DSJC0500.1.txt': 15.582885503768921, 'DSJC0500.5.txt': 18.927740812301636, 'DSJC0500.9.txt': 22.339231729507446, 'DSJC1000.1.txt': 121.87342858314514, 'DSJC1000.5.txt': 151.48826622962952, 'DSJC1000.9.txt': 169.8971655368805}\n",
|
|
|
|
" AAE-MCP: 执行时间 = {'DSJC0125.1.txt': 0.015633106231689453, 'DSJC0125.5.txt': 0.012542486190795898, 'DSJC0125.9.txt': 0.017057180404663086, 'DSJC0250.1.txt': 0.021806001663208008, 'DSJC0250.5.txt': 0.08765792846679688, 'DSJC0250.9.txt': 0.07237839698791504, 'DSJC0500.1.txt': 0.08004164695739746, 'DSJC0500.5.txt': 0.19251799583435059, 'DSJC0500.9.txt': 0.4154641628265381, 'DSJC1000.1.txt': 0.3821909427642822, 'DSJC1000.5.txt': 0.9123454093933105, 'DSJC1000.9.txt': 1.405397653579712}\n",
|
|
|
|
" 贪心: 执行时间 = {'DSJC0125.1.txt': 0.003445148468017578, 'DSJC0125.5.txt': 0.0020117759704589844, 'DSJC0125.9.txt': 0.003002643585205078, 'DSJC0250.1.txt': 0.009218692779541016, 'DSJC0250.5.txt': 0.008507490158081055, 'DSJC0250.9.txt': 0.010504007339477539, 'DSJC0500.1.txt': 0.03820180892944336, 'DSJC0500.5.txt': 0.04677724838256836, 'DSJC0500.9.txt': 0.05564761161804199, 'DSJC1000.1.txt': 0.14909648895263672, 'DSJC1000.5.txt': 0.16474175453186035, 'DSJC1000.9.txt': 0.17650794982910156}\n",
|
|
|
|
" Welsh-Powell: 执行时间 = {'DSJC0125.1.txt': 0.0019974708557128906, 'DSJC0125.5.txt': 0.0029964447021484375, 'DSJC0125.9.txt': 0.0060160160064697266, 'DSJC0250.1.txt': 0.008329153060913086, 'DSJC0250.5.txt': 0.014041900634765625, 'DSJC0250.9.txt': 0.03464531898498535, 'DSJC0500.1.txt': 0.04312324523925781, 'DSJC0500.5.txt': 0.0843958854675293, 'DSJC0500.9.txt': 0.25736522674560547, 'DSJC1000.1.txt': 0.2107689380645752, 'DSJC1000.5.txt': 0.4820866584777832, 'DSJC1000.9.txt': 1.3390073776245117}\n",
|
|
|
|
" DSATUR: 执行时间 = {'DSJC0125.1.txt': 0.19710993766784668, 'DSJC0125.5.txt': 0.2149949073791504, 'DSJC0125.9.txt': 0.24286270141601562, 'DSJC0250.1.txt': 1.5016090869903564, 'DSJC0250.5.txt': 1.6691169738769531, 'DSJC0250.9.txt': 2.004258632659912, 'DSJC0500.1.txt': 12.705793619155884, 'DSJC0500.5.txt': 13.611878156661987, 'DSJC0500.9.txt': 15.69128155708313, 'DSJC1000.1.txt': 102.37213277816772, 'DSJC1000.5.txt': 113.06330513954163, 'DSJC1000.9.txt': 113.55482411384583}\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"\n",
|
|
|
|
"EoH-MCP:\n",
|
|
|
|
" DSJC0125.1.txt: 使用颜色数 = 6\n",
|
|
|
|
" DSJC0125.5.txt: 使用颜色数 = 22\n",
|
|
|
|
" DSJC0125.9.txt: 使用颜色数 = 51\n",
|
|
|
|
" DSJC0250.1.txt: 使用颜色数 = 10\n",
|
|
|
|
" DSJC0250.5.txt: 使用颜色数 = 37\n",
|
|
|
|
" DSJC0250.9.txt: 使用颜色数 = 92\n",
|
|
|
|
" DSJC0500.1.txt: 使用颜色数 = 16\n",
|
|
|
|
" DSJC0500.5.txt: 使用颜色数 = 65\n",
|
|
|
|
" DSJC0500.9.txt: 使用颜色数 = 170\n",
|
|
|
|
" DSJC1000.1.txt: 使用颜色数 = 27\n",
|
|
|
|
" DSJC1000.5.txt: 使用颜色数 = 115\n",
|
|
|
|
" DSJC1000.9.txt: 使用颜色数 = 299\n",
|
2025-03-28 11:37:04 +08:00
|
|
|
" FunSearch-MCP: 执行时间 = {'DSJC0125.1.txt': 0.006541728973388672, 'DSJC0125.5.txt': 0.003002643585205078, 'DSJC0125.9.txt': 0.0030024051666259766, 'DSJC0250.1.txt': 0.01353764533996582, 'DSJC0250.5.txt': 0.015435218811035156, 'DSJC0250.9.txt': 0.014726877212524414, 'DSJC0500.1.txt': 0.05006003379821777, 'DSJC0500.5.txt': 0.05561065673828125, 'DSJC0500.9.txt': 0.06039857864379883, 'DSJC1000.1.txt': 0.22848773002624512, 'DSJC1000.5.txt': 0.22493863105773926, 'DSJC1000.9.txt': 0.22939729690551758}\n",
|
|
|
|
" EoH-MCP: 执行时间 = {'DSJC0125.1.txt': 0.29399943351745605, 'DSJC0125.5.txt': 0.31499505043029785, 'DSJC0125.9.txt': 0.37015247344970703, 'DSJC0250.1.txt': 1.9738132953643799, 'DSJC0250.5.txt': 2.361232042312622, 'DSJC0250.9.txt': 2.8340067863464355, 'DSJC0500.1.txt': 15.582885503768921, 'DSJC0500.5.txt': 18.927740812301636, 'DSJC0500.9.txt': 22.339231729507446, 'DSJC1000.1.txt': 121.87342858314514, 'DSJC1000.5.txt': 151.48826622962952, 'DSJC1000.9.txt': 169.8971655368805}\n",
|
|
|
|
" AAE-MCP: 执行时间 = {'DSJC0125.1.txt': 0.015633106231689453, 'DSJC0125.5.txt': 0.012542486190795898, 'DSJC0125.9.txt': 0.017057180404663086, 'DSJC0250.1.txt': 0.021806001663208008, 'DSJC0250.5.txt': 0.08765792846679688, 'DSJC0250.9.txt': 0.07237839698791504, 'DSJC0500.1.txt': 0.08004164695739746, 'DSJC0500.5.txt': 0.19251799583435059, 'DSJC0500.9.txt': 0.4154641628265381, 'DSJC1000.1.txt': 0.3821909427642822, 'DSJC1000.5.txt': 0.9123454093933105, 'DSJC1000.9.txt': 1.405397653579712}\n",
|
|
|
|
" 贪心: 执行时间 = {'DSJC0125.1.txt': 0.003445148468017578, 'DSJC0125.5.txt': 0.0020117759704589844, 'DSJC0125.9.txt': 0.003002643585205078, 'DSJC0250.1.txt': 0.009218692779541016, 'DSJC0250.5.txt': 0.008507490158081055, 'DSJC0250.9.txt': 0.010504007339477539, 'DSJC0500.1.txt': 0.03820180892944336, 'DSJC0500.5.txt': 0.04677724838256836, 'DSJC0500.9.txt': 0.05564761161804199, 'DSJC1000.1.txt': 0.14909648895263672, 'DSJC1000.5.txt': 0.16474175453186035, 'DSJC1000.9.txt': 0.17650794982910156}\n",
|
|
|
|
" Welsh-Powell: 执行时间 = {'DSJC0125.1.txt': 0.0019974708557128906, 'DSJC0125.5.txt': 0.0029964447021484375, 'DSJC0125.9.txt': 0.0060160160064697266, 'DSJC0250.1.txt': 0.008329153060913086, 'DSJC0250.5.txt': 0.014041900634765625, 'DSJC0250.9.txt': 0.03464531898498535, 'DSJC0500.1.txt': 0.04312324523925781, 'DSJC0500.5.txt': 0.0843958854675293, 'DSJC0500.9.txt': 0.25736522674560547, 'DSJC1000.1.txt': 0.2107689380645752, 'DSJC1000.5.txt': 0.4820866584777832, 'DSJC1000.9.txt': 1.3390073776245117}\n",
|
|
|
|
" DSATUR: 执行时间 = {'DSJC0125.1.txt': 0.19710993766784668, 'DSJC0125.5.txt': 0.2149949073791504, 'DSJC0125.9.txt': 0.24286270141601562, 'DSJC0250.1.txt': 1.5016090869903564, 'DSJC0250.5.txt': 1.6691169738769531, 'DSJC0250.9.txt': 2.004258632659912, 'DSJC0500.1.txt': 12.705793619155884, 'DSJC0500.5.txt': 13.611878156661987, 'DSJC0500.9.txt': 15.69128155708313, 'DSJC1000.1.txt': 102.37213277816772, 'DSJC1000.5.txt': 113.06330513954163, 'DSJC1000.9.txt': 113.55482411384583}\n",
|
2025-03-18 16:51:30 +08:00
|
|
|
"\n",
|
|
|
|
"AAE-MCP:\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
" DSJC0125.1.txt: 使用颜色数 = 6\n",
|
|
|
|
" DSJC0125.5.txt: 使用颜色数 = 22\n",
|
|
|
|
" DSJC0125.9.txt: 使用颜色数 = 51\n",
|
|
|
|
" DSJC0250.1.txt: 使用颜色数 = 10\n",
|
|
|
|
" DSJC0250.5.txt: 使用颜色数 = 37\n",
|
|
|
|
" DSJC0250.9.txt: 使用颜色数 = 92\n",
|
|
|
|
" DSJC0500.1.txt: 使用颜色数 = 16\n",
|
|
|
|
" DSJC0500.5.txt: 使用颜色数 = 65\n",
|
|
|
|
" DSJC0500.9.txt: 使用颜色数 = 170\n",
|
|
|
|
" DSJC1000.1.txt: 使用颜色数 = 27\n",
|
|
|
|
" DSJC1000.5.txt: 使用颜色数 = 115\n",
|
|
|
|
" DSJC1000.9.txt: 使用颜色数 = 299\n",
|
2025-03-28 11:37:04 +08:00
|
|
|
" FunSearch-MCP: 执行时间 = {'DSJC0125.1.txt': 0.006541728973388672, 'DSJC0125.5.txt': 0.003002643585205078, 'DSJC0125.9.txt': 0.0030024051666259766, 'DSJC0250.1.txt': 0.01353764533996582, 'DSJC0250.5.txt': 0.015435218811035156, 'DSJC0250.9.txt': 0.014726877212524414, 'DSJC0500.1.txt': 0.05006003379821777, 'DSJC0500.5.txt': 0.05561065673828125, 'DSJC0500.9.txt': 0.06039857864379883, 'DSJC1000.1.txt': 0.22848773002624512, 'DSJC1000.5.txt': 0.22493863105773926, 'DSJC1000.9.txt': 0.22939729690551758}\n",
|
|
|
|
" EoH-MCP: 执行时间 = {'DSJC0125.1.txt': 0.29399943351745605, 'DSJC0125.5.txt': 0.31499505043029785, 'DSJC0125.9.txt': 0.37015247344970703, 'DSJC0250.1.txt': 1.9738132953643799, 'DSJC0250.5.txt': 2.361232042312622, 'DSJC0250.9.txt': 2.8340067863464355, 'DSJC0500.1.txt': 15.582885503768921, 'DSJC0500.5.txt': 18.927740812301636, 'DSJC0500.9.txt': 22.339231729507446, 'DSJC1000.1.txt': 121.87342858314514, 'DSJC1000.5.txt': 151.48826622962952, 'DSJC1000.9.txt': 169.8971655368805}\n",
|
|
|
|
" AAE-MCP: 执行时间 = {'DSJC0125.1.txt': 0.015633106231689453, 'DSJC0125.5.txt': 0.012542486190795898, 'DSJC0125.9.txt': 0.017057180404663086, 'DSJC0250.1.txt': 0.021806001663208008, 'DSJC0250.5.txt': 0.08765792846679688, 'DSJC0250.9.txt': 0.07237839698791504, 'DSJC0500.1.txt': 0.08004164695739746, 'DSJC0500.5.txt': 0.19251799583435059, 'DSJC0500.9.txt': 0.4154641628265381, 'DSJC1000.1.txt': 0.3821909427642822, 'DSJC1000.5.txt': 0.9123454093933105, 'DSJC1000.9.txt': 1.405397653579712}\n",
|
|
|
|
" 贪心: 执行时间 = {'DSJC0125.1.txt': 0.003445148468017578, 'DSJC0125.5.txt': 0.0020117759704589844, 'DSJC0125.9.txt': 0.003002643585205078, 'DSJC0250.1.txt': 0.009218692779541016, 'DSJC0250.5.txt': 0.008507490158081055, 'DSJC0250.9.txt': 0.010504007339477539, 'DSJC0500.1.txt': 0.03820180892944336, 'DSJC0500.5.txt': 0.04677724838256836, 'DSJC0500.9.txt': 0.05564761161804199, 'DSJC1000.1.txt': 0.14909648895263672, 'DSJC1000.5.txt': 0.16474175453186035, 'DSJC1000.9.txt': 0.17650794982910156}\n",
|
|
|
|
" Welsh-Powell: 执行时间 = {'DSJC0125.1.txt': 0.0019974708557128906, 'DSJC0125.5.txt': 0.0029964447021484375, 'DSJC0125.9.txt': 0.0060160160064697266, 'DSJC0250.1.txt': 0.008329153060913086, 'DSJC0250.5.txt': 0.014041900634765625, 'DSJC0250.9.txt': 0.03464531898498535, 'DSJC0500.1.txt': 0.04312324523925781, 'DSJC0500.5.txt': 0.0843958854675293, 'DSJC0500.9.txt': 0.25736522674560547, 'DSJC1000.1.txt': 0.2107689380645752, 'DSJC1000.5.txt': 0.4820866584777832, 'DSJC1000.9.txt': 1.3390073776245117}\n",
|
|
|
|
" DSATUR: 执行时间 = {'DSJC0125.1.txt': 0.19710993766784668, 'DSJC0125.5.txt': 0.2149949073791504, 'DSJC0125.9.txt': 0.24286270141601562, 'DSJC0250.1.txt': 1.5016090869903564, 'DSJC0250.5.txt': 1.6691169738769531, 'DSJC0250.9.txt': 2.004258632659912, 'DSJC0500.1.txt': 12.705793619155884, 'DSJC0500.5.txt': 13.611878156661987, 'DSJC0500.9.txt': 15.69128155708313, 'DSJC1000.1.txt': 102.37213277816772, 'DSJC1000.5.txt': 113.06330513954163, 'DSJC1000.9.txt': 113.55482411384583}\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"\n",
|
|
|
|
"贪心:\n",
|
|
|
|
" DSJC0125.1.txt: 使用颜色数 = 8\n",
|
|
|
|
" DSJC0125.5.txt: 使用颜色数 = 26\n",
|
|
|
|
" DSJC0125.9.txt: 使用颜色数 = 56\n",
|
|
|
|
" DSJC0250.1.txt: 使用颜色数 = 13\n",
|
|
|
|
" DSJC0250.5.txt: 使用颜色数 = 43\n",
|
|
|
|
" DSJC0250.9.txt: 使用颜色数 = 99\n",
|
|
|
|
" DSJC0500.1.txt: 使用颜色数 = 20\n",
|
|
|
|
" DSJC0500.5.txt: 使用颜色数 = 72\n",
|
|
|
|
" DSJC0500.9.txt: 使用颜色数 = 175\n",
|
|
|
|
" DSJC1000.1.txt: 使用颜色数 = 31\n",
|
|
|
|
" DSJC1000.5.txt: 使用颜色数 = 127\n",
|
|
|
|
" DSJC1000.9.txt: 使用颜色数 = 321\n",
|
2025-03-28 11:37:04 +08:00
|
|
|
" FunSearch-MCP: 执行时间 = {'DSJC0125.1.txt': 0.006541728973388672, 'DSJC0125.5.txt': 0.003002643585205078, 'DSJC0125.9.txt': 0.0030024051666259766, 'DSJC0250.1.txt': 0.01353764533996582, 'DSJC0250.5.txt': 0.015435218811035156, 'DSJC0250.9.txt': 0.014726877212524414, 'DSJC0500.1.txt': 0.05006003379821777, 'DSJC0500.5.txt': 0.05561065673828125, 'DSJC0500.9.txt': 0.06039857864379883, 'DSJC1000.1.txt': 0.22848773002624512, 'DSJC1000.5.txt': 0.22493863105773926, 'DSJC1000.9.txt': 0.22939729690551758}\n",
|
|
|
|
" EoH-MCP: 执行时间 = {'DSJC0125.1.txt': 0.29399943351745605, 'DSJC0125.5.txt': 0.31499505043029785, 'DSJC0125.9.txt': 0.37015247344970703, 'DSJC0250.1.txt': 1.9738132953643799, 'DSJC0250.5.txt': 2.361232042312622, 'DSJC0250.9.txt': 2.8340067863464355, 'DSJC0500.1.txt': 15.582885503768921, 'DSJC0500.5.txt': 18.927740812301636, 'DSJC0500.9.txt': 22.339231729507446, 'DSJC1000.1.txt': 121.87342858314514, 'DSJC1000.5.txt': 151.48826622962952, 'DSJC1000.9.txt': 169.8971655368805}\n",
|
|
|
|
" AAE-MCP: 执行时间 = {'DSJC0125.1.txt': 0.015633106231689453, 'DSJC0125.5.txt': 0.012542486190795898, 'DSJC0125.9.txt': 0.017057180404663086, 'DSJC0250.1.txt': 0.021806001663208008, 'DSJC0250.5.txt': 0.08765792846679688, 'DSJC0250.9.txt': 0.07237839698791504, 'DSJC0500.1.txt': 0.08004164695739746, 'DSJC0500.5.txt': 0.19251799583435059, 'DSJC0500.9.txt': 0.4154641628265381, 'DSJC1000.1.txt': 0.3821909427642822, 'DSJC1000.5.txt': 0.9123454093933105, 'DSJC1000.9.txt': 1.405397653579712}\n",
|
|
|
|
" 贪心: 执行时间 = {'DSJC0125.1.txt': 0.003445148468017578, 'DSJC0125.5.txt': 0.0020117759704589844, 'DSJC0125.9.txt': 0.003002643585205078, 'DSJC0250.1.txt': 0.009218692779541016, 'DSJC0250.5.txt': 0.008507490158081055, 'DSJC0250.9.txt': 0.010504007339477539, 'DSJC0500.1.txt': 0.03820180892944336, 'DSJC0500.5.txt': 0.04677724838256836, 'DSJC0500.9.txt': 0.05564761161804199, 'DSJC1000.1.txt': 0.14909648895263672, 'DSJC1000.5.txt': 0.16474175453186035, 'DSJC1000.9.txt': 0.17650794982910156}\n",
|
|
|
|
" Welsh-Powell: 执行时间 = {'DSJC0125.1.txt': 0.0019974708557128906, 'DSJC0125.5.txt': 0.0029964447021484375, 'DSJC0125.9.txt': 0.0060160160064697266, 'DSJC0250.1.txt': 0.008329153060913086, 'DSJC0250.5.txt': 0.014041900634765625, 'DSJC0250.9.txt': 0.03464531898498535, 'DSJC0500.1.txt': 0.04312324523925781, 'DSJC0500.5.txt': 0.0843958854675293, 'DSJC0500.9.txt': 0.25736522674560547, 'DSJC1000.1.txt': 0.2107689380645752, 'DSJC1000.5.txt': 0.4820866584777832, 'DSJC1000.9.txt': 1.3390073776245117}\n",
|
|
|
|
" DSATUR: 执行时间 = {'DSJC0125.1.txt': 0.19710993766784668, 'DSJC0125.5.txt': 0.2149949073791504, 'DSJC0125.9.txt': 0.24286270141601562, 'DSJC0250.1.txt': 1.5016090869903564, 'DSJC0250.5.txt': 1.6691169738769531, 'DSJC0250.9.txt': 2.004258632659912, 'DSJC0500.1.txt': 12.705793619155884, 'DSJC0500.5.txt': 13.611878156661987, 'DSJC0500.9.txt': 15.69128155708313, 'DSJC1000.1.txt': 102.37213277816772, 'DSJC1000.5.txt': 113.06330513954163, 'DSJC1000.9.txt': 113.55482411384583}\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"\n",
|
|
|
|
"Welsh-Powell:\n",
|
|
|
|
" DSJC0125.1.txt: 使用颜色数 = 7\n",
|
|
|
|
" DSJC0125.5.txt: 使用颜色数 = 23\n",
|
|
|
|
" DSJC0125.9.txt: 使用颜色数 = 53\n",
|
|
|
|
" DSJC0250.1.txt: 使用颜色数 = 11\n",
|
|
|
|
" DSJC0250.5.txt: 使用颜色数 = 41\n",
|
|
|
|
" DSJC0250.9.txt: 使用颜色数 = 93\n",
|
|
|
|
" DSJC0500.1.txt: 使用颜色数 = 18\n",
|
|
|
|
" DSJC0500.5.txt: 使用颜色数 = 71\n",
|
|
|
|
" DSJC0500.9.txt: 使用颜色数 = 169\n",
|
|
|
|
" DSJC1000.1.txt: 使用颜色数 = 29\n",
|
|
|
|
" DSJC1000.5.txt: 使用颜色数 = 121\n",
|
|
|
|
" DSJC1000.9.txt: 使用颜色数 = 313\n",
|
2025-03-28 11:37:04 +08:00
|
|
|
" FunSearch-MCP: 执行时间 = {'DSJC0125.1.txt': 0.006541728973388672, 'DSJC0125.5.txt': 0.003002643585205078, 'DSJC0125.9.txt': 0.0030024051666259766, 'DSJC0250.1.txt': 0.01353764533996582, 'DSJC0250.5.txt': 0.015435218811035156, 'DSJC0250.9.txt': 0.014726877212524414, 'DSJC0500.1.txt': 0.05006003379821777, 'DSJC0500.5.txt': 0.05561065673828125, 'DSJC0500.9.txt': 0.06039857864379883, 'DSJC1000.1.txt': 0.22848773002624512, 'DSJC1000.5.txt': 0.22493863105773926, 'DSJC1000.9.txt': 0.22939729690551758}\n",
|
|
|
|
" EoH-MCP: 执行时间 = {'DSJC0125.1.txt': 0.29399943351745605, 'DSJC0125.5.txt': 0.31499505043029785, 'DSJC0125.9.txt': 0.37015247344970703, 'DSJC0250.1.txt': 1.9738132953643799, 'DSJC0250.5.txt': 2.361232042312622, 'DSJC0250.9.txt': 2.8340067863464355, 'DSJC0500.1.txt': 15.582885503768921, 'DSJC0500.5.txt': 18.927740812301636, 'DSJC0500.9.txt': 22.339231729507446, 'DSJC1000.1.txt': 121.87342858314514, 'DSJC1000.5.txt': 151.48826622962952, 'DSJC1000.9.txt': 169.8971655368805}\n",
|
|
|
|
" AAE-MCP: 执行时间 = {'DSJC0125.1.txt': 0.015633106231689453, 'DSJC0125.5.txt': 0.012542486190795898, 'DSJC0125.9.txt': 0.017057180404663086, 'DSJC0250.1.txt': 0.021806001663208008, 'DSJC0250.5.txt': 0.08765792846679688, 'DSJC0250.9.txt': 0.07237839698791504, 'DSJC0500.1.txt': 0.08004164695739746, 'DSJC0500.5.txt': 0.19251799583435059, 'DSJC0500.9.txt': 0.4154641628265381, 'DSJC1000.1.txt': 0.3821909427642822, 'DSJC1000.5.txt': 0.9123454093933105, 'DSJC1000.9.txt': 1.405397653579712}\n",
|
|
|
|
" 贪心: 执行时间 = {'DSJC0125.1.txt': 0.003445148468017578, 'DSJC0125.5.txt': 0.0020117759704589844, 'DSJC0125.9.txt': 0.003002643585205078, 'DSJC0250.1.txt': 0.009218692779541016, 'DSJC0250.5.txt': 0.008507490158081055, 'DSJC0250.9.txt': 0.010504007339477539, 'DSJC0500.1.txt': 0.03820180892944336, 'DSJC0500.5.txt': 0.04677724838256836, 'DSJC0500.9.txt': 0.05564761161804199, 'DSJC1000.1.txt': 0.14909648895263672, 'DSJC1000.5.txt': 0.16474175453186035, 'DSJC1000.9.txt': 0.17650794982910156}\n",
|
|
|
|
" Welsh-Powell: 执行时间 = {'DSJC0125.1.txt': 0.0019974708557128906, 'DSJC0125.5.txt': 0.0029964447021484375, 'DSJC0125.9.txt': 0.0060160160064697266, 'DSJC0250.1.txt': 0.008329153060913086, 'DSJC0250.5.txt': 0.014041900634765625, 'DSJC0250.9.txt': 0.03464531898498535, 'DSJC0500.1.txt': 0.04312324523925781, 'DSJC0500.5.txt': 0.0843958854675293, 'DSJC0500.9.txt': 0.25736522674560547, 'DSJC1000.1.txt': 0.2107689380645752, 'DSJC1000.5.txt': 0.4820866584777832, 'DSJC1000.9.txt': 1.3390073776245117}\n",
|
|
|
|
" DSATUR: 执行时间 = {'DSJC0125.1.txt': 0.19710993766784668, 'DSJC0125.5.txt': 0.2149949073791504, 'DSJC0125.9.txt': 0.24286270141601562, 'DSJC0250.1.txt': 1.5016090869903564, 'DSJC0250.5.txt': 1.6691169738769531, 'DSJC0250.9.txt': 2.004258632659912, 'DSJC0500.1.txt': 12.705793619155884, 'DSJC0500.5.txt': 13.611878156661987, 'DSJC0500.9.txt': 15.69128155708313, 'DSJC1000.1.txt': 102.37213277816772, 'DSJC1000.5.txt': 113.06330513954163, 'DSJC1000.9.txt': 113.55482411384583}\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"\n",
|
|
|
|
"DSATUR:\n",
|
|
|
|
" DSJC0125.1.txt: 使用颜色数 = 6\n",
|
|
|
|
" DSJC0125.5.txt: 使用颜色数 = 22\n",
|
|
|
|
" DSJC0125.9.txt: 使用颜色数 = 51\n",
|
|
|
|
" DSJC0250.1.txt: 使用颜色数 = 10\n",
|
|
|
|
" DSJC0250.5.txt: 使用颜色数 = 37\n",
|
|
|
|
" DSJC0250.9.txt: 使用颜色数 = 92\n",
|
|
|
|
" DSJC0500.1.txt: 使用颜色数 = 16\n",
|
|
|
|
" DSJC0500.5.txt: 使用颜色数 = 65\n",
|
|
|
|
" DSJC0500.9.txt: 使用颜色数 = 170\n",
|
|
|
|
" DSJC1000.1.txt: 使用颜色数 = 27\n",
|
|
|
|
" DSJC1000.5.txt: 使用颜色数 = 115\n",
|
|
|
|
" DSJC1000.9.txt: 使用颜色数 = 299\n",
|
2025-03-28 11:37:04 +08:00
|
|
|
" FunSearch-MCP: 执行时间 = {'DSJC0125.1.txt': 0.006541728973388672, 'DSJC0125.5.txt': 0.003002643585205078, 'DSJC0125.9.txt': 0.0030024051666259766, 'DSJC0250.1.txt': 0.01353764533996582, 'DSJC0250.5.txt': 0.015435218811035156, 'DSJC0250.9.txt': 0.014726877212524414, 'DSJC0500.1.txt': 0.05006003379821777, 'DSJC0500.5.txt': 0.05561065673828125, 'DSJC0500.9.txt': 0.06039857864379883, 'DSJC1000.1.txt': 0.22848773002624512, 'DSJC1000.5.txt': 0.22493863105773926, 'DSJC1000.9.txt': 0.22939729690551758}\n",
|
|
|
|
" EoH-MCP: 执行时间 = {'DSJC0125.1.txt': 0.29399943351745605, 'DSJC0125.5.txt': 0.31499505043029785, 'DSJC0125.9.txt': 0.37015247344970703, 'DSJC0250.1.txt': 1.9738132953643799, 'DSJC0250.5.txt': 2.361232042312622, 'DSJC0250.9.txt': 2.8340067863464355, 'DSJC0500.1.txt': 15.582885503768921, 'DSJC0500.5.txt': 18.927740812301636, 'DSJC0500.9.txt': 22.339231729507446, 'DSJC1000.1.txt': 121.87342858314514, 'DSJC1000.5.txt': 151.48826622962952, 'DSJC1000.9.txt': 169.8971655368805}\n",
|
|
|
|
" AAE-MCP: 执行时间 = {'DSJC0125.1.txt': 0.015633106231689453, 'DSJC0125.5.txt': 0.012542486190795898, 'DSJC0125.9.txt': 0.017057180404663086, 'DSJC0250.1.txt': 0.021806001663208008, 'DSJC0250.5.txt': 0.08765792846679688, 'DSJC0250.9.txt': 0.07237839698791504, 'DSJC0500.1.txt': 0.08004164695739746, 'DSJC0500.5.txt': 0.19251799583435059, 'DSJC0500.9.txt': 0.4154641628265381, 'DSJC1000.1.txt': 0.3821909427642822, 'DSJC1000.5.txt': 0.9123454093933105, 'DSJC1000.9.txt': 1.405397653579712}\n",
|
|
|
|
" 贪心: 执行时间 = {'DSJC0125.1.txt': 0.003445148468017578, 'DSJC0125.5.txt': 0.0020117759704589844, 'DSJC0125.9.txt': 0.003002643585205078, 'DSJC0250.1.txt': 0.009218692779541016, 'DSJC0250.5.txt': 0.008507490158081055, 'DSJC0250.9.txt': 0.010504007339477539, 'DSJC0500.1.txt': 0.03820180892944336, 'DSJC0500.5.txt': 0.04677724838256836, 'DSJC0500.9.txt': 0.05564761161804199, 'DSJC1000.1.txt': 0.14909648895263672, 'DSJC1000.5.txt': 0.16474175453186035, 'DSJC1000.9.txt': 0.17650794982910156}\n",
|
|
|
|
" Welsh-Powell: 执行时间 = {'DSJC0125.1.txt': 0.0019974708557128906, 'DSJC0125.5.txt': 0.0029964447021484375, 'DSJC0125.9.txt': 0.0060160160064697266, 'DSJC0250.1.txt': 0.008329153060913086, 'DSJC0250.5.txt': 0.014041900634765625, 'DSJC0250.9.txt': 0.03464531898498535, 'DSJC0500.1.txt': 0.04312324523925781, 'DSJC0500.5.txt': 0.0843958854675293, 'DSJC0500.9.txt': 0.25736522674560547, 'DSJC1000.1.txt': 0.2107689380645752, 'DSJC1000.5.txt': 0.4820866584777832, 'DSJC1000.9.txt': 1.3390073776245117}\n",
|
|
|
|
" DSATUR: 执行时间 = {'DSJC0125.1.txt': 0.19710993766784668, 'DSJC0125.5.txt': 0.2149949073791504, 'DSJC0125.9.txt': 0.24286270141601562, 'DSJC0250.1.txt': 1.5016090869903564, 'DSJC0250.5.txt': 1.6691169738769531, 'DSJC0250.9.txt': 2.004258632659912, 'DSJC0500.1.txt': 12.705793619155884, 'DSJC0500.5.txt': 13.611878156661987, 'DSJC0500.9.txt': 15.69128155708313, 'DSJC1000.1.txt': 102.37213277816772, 'DSJC1000.5.txt': 113.06330513954163, 'DSJC1000.9.txt': 113.55482411384583}\n"
|
2025-03-17 16:40:01 +08:00
|
|
|
]
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"source": [
|
|
|
|
"# 用于存储每个算法在每个实例上的结果 \n",
|
|
|
|
"results = {}\n",
|
|
|
|
"results_time = {}\n",
|
|
|
|
"\n",
|
|
|
|
"# 遍历每个测试实例\n",
|
|
|
|
"for test_file in test_files:\n",
|
|
|
|
" print(f\"\\n测试实例: {test_file}\")\n",
|
|
|
|
" \n",
|
|
|
|
" # 加载数据\n",
|
|
|
|
" adj_matrix = load_graph_data(test_file)\n",
|
|
|
|
" if adj_matrix is None:\n",
|
|
|
|
" continue\n",
|
|
|
|
" \n",
|
|
|
|
" # 这里可以添加多个待评估的图着色算法\n",
|
|
|
|
" algorithms = {\n",
|
|
|
|
" \"FunSearch-MCP\": graph_coloring_v1,\n",
|
|
|
|
" \"EoH-MCP\": graph_coloring_v2, \n",
|
|
|
|
" # \"MCP-03\": graph_coloring_v3,\n",
|
2025-03-18 16:51:30 +08:00
|
|
|
" \"AAE-MCP\": graph_coloring_v5,\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
" \"贪心\": greedy_coloring,\n",
|
|
|
|
" \"Welsh-Powell\": welsh_powell_coloring,\n",
|
|
|
|
" \"DSATUR\": dsatur_coloring,\n",
|
|
|
|
" }\n",
|
|
|
|
" \n",
|
|
|
|
" # 评估每个算法\n",
|
|
|
|
" for alg_name, alg_func in algorithms.items():\n",
|
|
|
|
" print(f\"\\n使用算法: {alg_name}\")\n",
|
|
|
|
" score,etime = evaluate_coloring(alg_func, adj_matrix)\n",
|
|
|
|
" \n",
|
|
|
|
" if alg_name not in results:\n",
|
|
|
|
" results[alg_name] = {}\n",
|
|
|
|
" if alg_name not in results_time:\n",
|
|
|
|
" results_time[alg_name] = {}\n",
|
|
|
|
" results[alg_name][test_file] = score\n",
|
|
|
|
" results_time[alg_name][test_file] = etime\n",
|
|
|
|
"\n",
|
|
|
|
"# 打印总结果\n",
|
|
|
|
"print(\"\\n所有算法在各个实例上的表现:\")\n",
|
|
|
|
"for alg_name, scores in results.items():\n",
|
|
|
|
" print(f\"\\n{alg_name}:\")\n",
|
|
|
|
" for test_file, score in scores.items():\n",
|
|
|
|
" print(f\" {test_file}: 使用颜色数 = {score}\")\n",
|
|
|
|
" for test_file, etime in results_time.items():\n",
|
|
|
|
" print(f\" {test_file}: 执行时间 = {etime}\")"
|
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"cell_type": "code",
|
2025-03-28 11:37:04 +08:00
|
|
|
"execution_count": 6,
|
2025-03-17 16:40:01 +08:00
|
|
|
"metadata": {},
|
|
|
|
"outputs": [
|
|
|
|
{
|
|
|
|
"name": "stdout",
|
|
|
|
"output_type": "stream",
|
|
|
|
"text": [
|
|
|
|
"\n",
|
|
|
|
"各算法在不同实例上的着色数量:\n",
|
2025-03-18 16:51:30 +08:00
|
|
|
" FunSearch-MCP EoH-MCP AAE-MCP 贪心 Welsh-Powell DSATUR\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"MCP0125.1 7 6 6 8 7 6\n",
|
|
|
|
"MCP0125.5 24 22 22 26 23 22\n",
|
|
|
|
"MCP0125.9 53 51 51 56 53 51\n",
|
|
|
|
"MCP0250.1 12 10 10 13 11 10\n",
|
|
|
|
"MCP0250.5 40 37 37 43 41 37\n",
|
|
|
|
"MCP0250.9 92 92 92 99 93 92\n",
|
|
|
|
"MCP0500.1 18 16 16 20 18 16\n",
|
|
|
|
"MCP0500.5 68 65 65 72 71 65\n",
|
|
|
|
"MCP0500.9 171 170 170 175 169 170\n",
|
|
|
|
"MCP1000.1 29 27 27 31 29 27\n",
|
|
|
|
"MCP1000.5 123 115 115 127 121 115\n",
|
|
|
|
"MCP1000.9 316 299 299 321 313 299\n",
|
|
|
|
"\n",
|
|
|
|
"各算法在不同实例上的运行时间(秒):\n",
|
2025-03-18 16:51:30 +08:00
|
|
|
" FunSearch-MCP EoH-MCP AAE-MCP 贪心 Welsh-Powell DSATUR\n",
|
2025-03-28 11:37:04 +08:00
|
|
|
"MCP0125.1 0.0065 0.2940 0.0156 0.0034 0.0020 0.1971\n",
|
|
|
|
"MCP0125.5 0.0030 0.3150 0.0125 0.0020 0.0030 0.2150\n",
|
|
|
|
"MCP0125.9 0.0030 0.3702 0.0171 0.0030 0.0060 0.2429\n",
|
|
|
|
"MCP0250.1 0.0135 1.9738 0.0218 0.0092 0.0083 1.5016\n",
|
|
|
|
"MCP0250.5 0.0154 2.3612 0.0877 0.0085 0.0140 1.6691\n",
|
|
|
|
"MCP0250.9 0.0147 2.8340 0.0724 0.0105 0.0346 2.0043\n",
|
|
|
|
"MCP0500.1 0.0501 15.5829 0.0800 0.0382 0.0431 12.7058\n",
|
|
|
|
"MCP0500.5 0.0556 18.9277 0.1925 0.0468 0.0844 13.6119\n",
|
|
|
|
"MCP0500.9 0.0604 22.3392 0.4155 0.0556 0.2574 15.6913\n",
|
|
|
|
"MCP1000.1 0.2285 121.8734 0.3822 0.1491 0.2108 102.3721\n",
|
|
|
|
"MCP1000.5 0.2249 151.4883 0.9123 0.1647 0.4821 113.0633\n",
|
|
|
|
"MCP1000.9 0.2294 169.8972 1.4054 0.1765 1.3390 113.5548\n"
|
2025-03-17 16:40:01 +08:00
|
|
|
]
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"source": [
|
|
|
|
"# 将结果整理成表格\n",
|
|
|
|
"import pandas as pd\n",
|
|
|
|
"\n",
|
|
|
|
"# 准备性能数据\n",
|
|
|
|
"data_colors = {}\n",
|
|
|
|
"for test_file in test_files:\n",
|
|
|
|
" # 去掉.txt后缀,将DSJC替换为MCP\n",
|
|
|
|
" instance_name = test_file.replace('.txt', '').replace('DSJC', 'MCP')\n",
|
|
|
|
" data_colors[instance_name] = {}\n",
|
|
|
|
" for alg_name in results:\n",
|
|
|
|
" if test_file in results[alg_name]:\n",
|
|
|
|
" data_colors[instance_name][alg_name] = results[alg_name][test_file]\n",
|
|
|
|
"\n",
|
|
|
|
"# 准备运行时间数据 \n",
|
|
|
|
"data_time = {}\n",
|
|
|
|
"for test_file in test_files:\n",
|
|
|
|
" instance_name = test_file.replace('.txt', '').replace('DSJC', 'MCP')\n",
|
|
|
|
" data_time[instance_name] = {}\n",
|
|
|
|
" for alg_name in results_time:\n",
|
|
|
|
" if test_file in results_time[alg_name]:\n",
|
|
|
|
" data_time[instance_name][alg_name] = round(results_time[alg_name][test_file], 4)\n",
|
|
|
|
"\n",
|
|
|
|
"# 转换为DataFrame\n",
|
|
|
|
"df_colors = pd.DataFrame(data_colors).T\n",
|
|
|
|
"df_time = pd.DataFrame(data_time).T\n",
|
|
|
|
"\n",
|
|
|
|
"# 打印结果表格\n",
|
|
|
|
"print(\"\\n各算法在不同实例上的着色数量:\")\n",
|
|
|
|
"print(df_colors)\n",
|
|
|
|
"print(\"\\n各算法在不同实例上的运行时间(秒):\")\n",
|
|
|
|
"print(df_time)"
|
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"cell_type": "code",
|
2025-03-28 11:37:04 +08:00
|
|
|
"execution_count": 8,
|
2025-03-17 16:40:01 +08:00
|
|
|
"metadata": {},
|
|
|
|
"outputs": [
|
|
|
|
{
|
|
|
|
"data": {
|
2025-03-28 11:37:04 +08:00
|
|
|
"image/png": "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
|
2025-03-17 16:40:01 +08:00
|
|
|
"text/plain": [
|
|
|
|
"<Figure size 1000x600 with 1 Axes>"
|
|
|
|
]
|
|
|
|
},
|
|
|
|
"metadata": {},
|
|
|
|
"output_type": "display_data"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"source": [
|
|
|
|
"# 计算每个算法的平均性能和平均时间\n",
|
|
|
|
"avg_colors = df_colors.mean()\n",
|
|
|
|
"avg_times = df_time.mean()\n",
|
|
|
|
"\n",
|
|
|
|
"# 中文显示\n",
|
|
|
|
"plt.rcParams['font.sans-serif'] = ['SimHei']\n",
|
|
|
|
"plt.rcParams['axes.unicode_minus'] = False\n",
|
|
|
|
"\n",
|
|
|
|
"# 创建散点图\n",
|
|
|
|
"plt.figure(figsize=(10, 6))\n",
|
|
|
|
"\n",
|
|
|
|
"# 设置坐标轴范围\n",
|
|
|
|
"x_max = max(avg_times) * 1.05 # 扩大20%\n",
|
|
|
|
"y_max = max(avg_colors) * 1.05\n",
|
|
|
|
"x_min = min(avg_times) * 0.99\n",
|
|
|
|
"y_min = min(avg_colors) * 0.99\n",
|
|
|
|
"plt.xlim(-5, 45)\n",
|
|
|
|
"plt.ylim(y_min, 84)\n",
|
|
|
|
"\n",
|
|
|
|
"# 定义不同算法的颜色和标记,确保数量足够\n",
|
|
|
|
"colors = ['red', 'blue', 'green', 'purple', 'orange', 'brown', 'pink', 'gray', 'olive', 'cyan']\n",
|
|
|
|
"markers = ['o', 's', '^', 'D', 'v', '<', '>', 'p', 'h', '8']\n",
|
|
|
|
"\n",
|
|
|
|
"# 绘制散点和标注\n",
|
|
|
|
"for i, alg in enumerate(avg_colors.index):\n",
|
|
|
|
" x = avg_times[alg]\n",
|
|
|
|
" y = avg_colors[alg]\n",
|
2025-03-28 11:37:04 +08:00
|
|
|
" # 替换算法名称\n",
|
|
|
|
" display_name = alg.replace('EoH-MCP', 'EoH-GCP').replace('FunSearch-MCP', 'FunSearch-GCP').replace('AAE-MCP', 'AAE-GCP')\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
" plt.scatter(x, y,\n",
|
|
|
|
" color=colors[i % len(colors)], # 使用取模确保不会越界\n",
|
|
|
|
" marker=markers[i % len(markers)],\n",
|
|
|
|
" s=100,\n",
|
2025-03-28 11:37:04 +08:00
|
|
|
" label=display_name)\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
" # 为DA和EOH设置不同的标注位置\n",
|
|
|
|
" if alg in ['DSATUR', 'EoH-MCP']:\n",
|
|
|
|
" xytext = (-90, 20) # 左上方偏移\n",
|
|
|
|
" elif alg in ['FunSearch-MCP']:\n",
|
|
|
|
" xytext = (-50, 20)\n",
|
|
|
|
" else:\n",
|
|
|
|
" xytext = (20, -5) # 右上方偏移\n",
|
|
|
|
" \n",
|
|
|
|
" plt.annotate(f'({x:.2f}, {y:.2f})',\n",
|
|
|
|
" xy=(x, y),\n",
|
|
|
|
" xytext=xytext,\n",
|
|
|
|
" textcoords='offset points',\n",
|
|
|
|
" fontsize=18,\n",
|
|
|
|
" bbox=dict(facecolor='white', edgecolor='none', alpha=0.7))\n",
|
|
|
|
"\n",
|
|
|
|
"plt.xlabel('平均运行时间(秒)', fontsize=18)\n",
|
|
|
|
"plt.ylabel('平均着色数量', fontsize=18)\n",
|
|
|
|
"\n",
|
|
|
|
"# 设置刻度字体大小\n",
|
|
|
|
"plt.xticks(fontsize=14)\n",
|
|
|
|
"plt.yticks(fontsize=14)\n",
|
|
|
|
"\n",
|
|
|
|
"# 添加图例\n",
|
|
|
|
"plt.legend(fontsize=14, loc='upper right')\n",
|
|
|
|
"\n",
|
|
|
|
"plt.tight_layout()\n",
|
|
|
|
"plt.savefig('mcppareto.png',dpi=300)\n",
|
|
|
|
"plt.show()"
|
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"cell_type": "code",
|
|
|
|
"execution_count": 7,
|
|
|
|
"metadata": {},
|
|
|
|
"outputs": [
|
|
|
|
{
|
|
|
|
"name": "stdout",
|
|
|
|
"output_type": "stream",
|
|
|
|
"text": [
|
|
|
|
"\n",
|
|
|
|
"每个实例的基本信息:\n",
|
|
|
|
" 测试实例 顶点数 边数 密度 平均度数\n",
|
|
|
|
"0 DSJC0125.1.txt 125 736 0.094968 11.776\n",
|
|
|
|
"1 DSJC0125.5.txt 125 3891 0.502065 62.256\n",
|
|
|
|
"2 DSJC0125.9.txt 125 6961 0.898194 111.376\n",
|
|
|
|
"3 DSJC0250.1.txt 250 3218 0.103390 25.744\n",
|
|
|
|
"4 DSJC0250.5.txt 250 15668 0.503390 125.344\n",
|
|
|
|
"5 DSJC0250.9.txt 250 27897 0.896289 223.176\n",
|
|
|
|
"6 DSJC0500.1.txt 500 12458 0.099864 49.832\n",
|
|
|
|
"7 DSJC0500.5.txt 500 62624 0.501996 250.496\n",
|
|
|
|
"8 DSJC0500.9.txt 500 112437 0.901299 449.748\n",
|
|
|
|
"9 DSJC1000.1.txt 1000 49629 0.099357 99.258\n",
|
|
|
|
"10 DSJC1000.5.txt 1000 249826 0.500152 499.652\n",
|
|
|
|
"11 DSJC1000.9.txt 1000 449449 0.899798 898.898\n"
|
|
|
|
]
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"source": [
|
|
|
|
"# 统计每个实例的基本信息\n",
|
|
|
|
"instance_info = []\n",
|
|
|
|
"\n",
|
|
|
|
"for test_file in test_files:\n",
|
|
|
|
" adj_matrix = load_graph_data(test_file)\n",
|
|
|
|
" if adj_matrix is None:\n",
|
|
|
|
" continue\n",
|
|
|
|
" \n",
|
|
|
|
" n_vertices = adj_matrix.shape[0]\n",
|
|
|
|
" n_edges = np.sum(adj_matrix) // 2 # 无向图的边数\n",
|
|
|
|
" density = n_edges / (n_vertices * (n_vertices - 1) / 2) # 图的密度\n",
|
|
|
|
" avg_degree = np.sum(adj_matrix) / n_vertices # 平均度数\n",
|
|
|
|
" \n",
|
|
|
|
" instance_info.append({\n",
|
|
|
|
" '测试实例': test_file,\n",
|
|
|
|
" '顶点数': n_vertices,\n",
|
|
|
|
" '边数': n_edges,\n",
|
|
|
|
" '密度': density,\n",
|
|
|
|
" '平均度数': avg_degree\n",
|
|
|
|
" })\n",
|
|
|
|
"\n",
|
|
|
|
"# 将统计信息转换为DataFrame并打印\n",
|
|
|
|
"df_info = pd.DataFrame(instance_info)\n",
|
|
|
|
"print(\"\\n每个实例的基本信息:\")\n",
|
|
|
|
"print(df_info)"
|
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"cell_type": "code",
|
|
|
|
"execution_count": 11,
|
|
|
|
"metadata": {},
|
|
|
|
"outputs": [
|
|
|
|
{
|
|
|
|
"data": {
|
|
|
|
"image/png": "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
|
|
|
|
"text/plain": [
|
|
|
|
"<Figure size 800x600 with 1 Axes>"
|
|
|
|
]
|
|
|
|
},
|
|
|
|
"metadata": {},
|
|
|
|
"output_type": "display_data"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"data": {
|
|
|
|
"image/png": "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
|
|
|
|
"text/plain": [
|
|
|
|
"<Figure size 800x600 with 1 Axes>"
|
|
|
|
]
|
|
|
|
},
|
|
|
|
"metadata": {},
|
|
|
|
"output_type": "display_data"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"source": [
|
|
|
|
"import matplotlib.pyplot as plt\n",
|
|
|
|
"import networkx as nx\n",
|
|
|
|
"import matplotlib.font_manager as fm\n",
|
|
|
|
"\n",
|
|
|
|
"# 设置中文字体\n",
|
|
|
|
"plt.rcParams['font.sans-serif'] = ['SimHei']\n",
|
|
|
|
"plt.rcParams['axes.unicode_minus'] = False\n",
|
|
|
|
"\n",
|
|
|
|
"# 定义节点位置和边\n",
|
|
|
|
"positions = [(0,0), (1,0), (0,1), (2,0), (1,1)] # 5个节点的位置\n",
|
|
|
|
"edges = [(0,1), (0,2), (1,2), (1,3), (2,4), (3,4)] # 节点间的连接\n",
|
|
|
|
"\n",
|
|
|
|
"# 创建图对象\n",
|
|
|
|
"G = nx.Graph()\n",
|
|
|
|
"G.add_nodes_from(range(len(positions)))\n",
|
|
|
|
"G.add_edges_from(edges)\n",
|
|
|
|
"pos = {i: positions[i] for i in range(len(positions))}\n",
|
|
|
|
"\n",
|
|
|
|
"# 绘制第一个图\n",
|
|
|
|
"plt.figure(figsize=(8, 6))\n",
|
|
|
|
"colors = ['red', 'green', 'blue', 'yellow', 'purple']\n",
|
|
|
|
"nx.draw(G, pos,\n",
|
|
|
|
" node_color=colors,\n",
|
|
|
|
" node_size=1000,\n",
|
|
|
|
" with_labels=True,\n",
|
|
|
|
" font_size=12,\n",
|
|
|
|
" font_weight='bold',\n",
|
|
|
|
" edge_color='gray',\n",
|
|
|
|
" width=1)\n",
|
|
|
|
"\n",
|
|
|
|
"# plt.title('5色着色方案', fontsize=18, fontweight='bold')\n",
|
|
|
|
"plt.axis('equal')\n",
|
|
|
|
"plt.savefig('./plot/5color.png',dpi=300)\n",
|
|
|
|
"plt.show()\n",
|
|
|
|
"\n",
|
|
|
|
"# 绘制第二个图\n",
|
|
|
|
"plt.figure(figsize=(8, 6))\n",
|
|
|
|
"colors2 = ['red', 'green', 'blue', 'blue', 'red']\n",
|
|
|
|
"nx.draw(G, pos,\n",
|
|
|
|
" node_color=colors2,\n",
|
|
|
|
" node_size=1000,\n",
|
|
|
|
" with_labels=True,\n",
|
|
|
|
" font_size=12,\n",
|
|
|
|
" font_weight='bold',\n",
|
|
|
|
" edge_color='gray',\n",
|
|
|
|
" width=1)\n",
|
|
|
|
"\n",
|
|
|
|
"# plt.title('3色着色方案', fontsize=18, fontweight='bold')\n",
|
|
|
|
"plt.axis('equal')\n",
|
|
|
|
"plt.savefig('./plot/3color.png',dpi=300)\n",
|
|
|
|
"plt.show()\n"
|
|
|
|
]
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"metadata": {
|
|
|
|
"kernelspec": {
|
|
|
|
"display_name": "lead",
|
|
|
|
"language": "python",
|
|
|
|
"name": "python3"
|
|
|
|
},
|
|
|
|
"language_info": {
|
|
|
|
"codemirror_mode": {
|
|
|
|
"name": "ipython",
|
|
|
|
"version": 3
|
|
|
|
},
|
|
|
|
"file_extension": ".py",
|
|
|
|
"mimetype": "text/x-python",
|
|
|
|
"name": "python",
|
|
|
|
"nbconvert_exporter": "python",
|
|
|
|
"pygments_lexer": "ipython3",
|
|
|
|
"version": "3.11.11"
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"nbformat": 4,
|
|
|
|
"nbformat_minor": 2
|
|
|
|
}
|