2025-03-17 16:40:01 +08:00
|
|
|
{
|
|
|
|
"cells": [
|
|
|
|
{
|
|
|
|
"cell_type": "code",
|
|
|
|
"execution_count": 1,
|
|
|
|
"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",
|
|
|
|
"execution_count": 2,
|
|
|
|
"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",
|
|
|
|
"execution_count": 3,
|
|
|
|
"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",
|
|
|
|
"execution_count": 4,
|
|
|
|
"metadata": {},
|
|
|
|
"outputs": [
|
|
|
|
{
|
|
|
|
"name": "stdout",
|
|
|
|
"output_type": "stream",
|
|
|
|
"text": [
|
|
|
|
"\n",
|
|
|
|
"测试实例: DSJC0125.1.txt\n",
|
|
|
|
"\n",
|
|
|
|
"使用算法: FunSearch-MCP\n",
|
2025-03-18 16:51:30 +08:00
|
|
|
"执行时间:0.0106秒, 使用颜色数:7\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"\n",
|
|
|
|
"使用算法: EoH-MCP\n",
|
2025-03-18 16:51:30 +08:00
|
|
|
"执行时间:0.2657秒, 使用颜色数:6\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"\n",
|
2025-03-18 16:51:30 +08:00
|
|
|
"使用算法: AAE-MCP\n",
|
|
|
|
"执行时间:0.0070秒, 使用颜色数:6\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"\n",
|
|
|
|
"使用算法: 贪心\n",
|
2025-03-18 16:51:30 +08:00
|
|
|
"执行时间:0.0020秒, 使用颜色数: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-18 16:51:30 +08:00
|
|
|
"执行时间:0.2044秒, 使用颜色数:6\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"\n",
|
|
|
|
"测试实例: DSJC0125.5.txt\n",
|
|
|
|
"\n",
|
|
|
|
"使用算法: FunSearch-MCP\n",
|
2025-03-18 16:51:30 +08:00
|
|
|
"执行时间:0.0035秒, 使用颜色数:24\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"\n",
|
|
|
|
"使用算法: EoH-MCP\n",
|
2025-03-18 16:51:30 +08:00
|
|
|
"执行时间:0.3157秒, 使用颜色数:22\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"\n",
|
2025-03-18 16:51:30 +08:00
|
|
|
"使用算法: AAE-MCP\n",
|
|
|
|
"执行时间:0.0127秒, 使用颜色数:22\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"\n",
|
|
|
|
"使用算法: 贪心\n",
|
|
|
|
"执行时间:0.0030秒, 使用颜色数:26\n",
|
|
|
|
"\n",
|
|
|
|
"使用算法: Welsh-Powell\n",
|
|
|
|
"执行时间:0.0030秒, 使用颜色数:23\n",
|
|
|
|
"\n",
|
|
|
|
"使用算法: DSATUR\n",
|
2025-03-18 16:51:30 +08:00
|
|
|
"执行时间:0.2202秒, 使用颜色数:22\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"\n",
|
|
|
|
"测试实例: DSJC0125.9.txt\n",
|
|
|
|
"\n",
|
|
|
|
"使用算法: FunSearch-MCP\n",
|
2025-03-18 16:51:30 +08:00
|
|
|
"执行时间:0.0035秒, 使用颜色数:53\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"\n",
|
|
|
|
"使用算法: EoH-MCP\n",
|
2025-03-18 16:51:30 +08:00
|
|
|
"执行时间:0.3592秒, 使用颜色数:51\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"\n",
|
2025-03-18 16:51:30 +08:00
|
|
|
"使用算法: AAE-MCP\n",
|
|
|
|
"执行时间:0.0194秒, 使用颜色数: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-18 16:51:30 +08:00
|
|
|
"执行时间:0.0065秒, 使用颜色数:53\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"\n",
|
|
|
|
"使用算法: DSATUR\n",
|
2025-03-18 16:51:30 +08:00
|
|
|
"执行时间:0.2307秒, 使用颜色数:51\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"\n",
|
|
|
|
"测试实例: DSJC0250.1.txt\n",
|
|
|
|
"\n",
|
|
|
|
"使用算法: FunSearch-MCP\n",
|
2025-03-18 16:51:30 +08:00
|
|
|
"执行时间:0.0111秒, 使用颜色数:12\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"\n",
|
|
|
|
"使用算法: EoH-MCP\n",
|
2025-03-18 16:51:30 +08:00
|
|
|
"执行时间:1.9986秒, 使用颜色数:10\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"\n",
|
2025-03-18 16:51:30 +08:00
|
|
|
"使用算法: AAE-MCP\n",
|
|
|
|
"执行时间:0.0197秒, 使用颜色数:10\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"\n",
|
|
|
|
"使用算法: 贪心\n",
|
2025-03-18 16:51:30 +08:00
|
|
|
"执行时间:0.0091秒, 使用颜色数:13\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"\n",
|
|
|
|
"使用算法: Welsh-Powell\n",
|
2025-03-18 16:51:30 +08:00
|
|
|
"执行时间:0.0088秒, 使用颜色数:11\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"\n",
|
|
|
|
"使用算法: DSATUR\n",
|
2025-03-18 16:51:30 +08:00
|
|
|
"执行时间:1.5610秒, 使用颜色数:10\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"\n",
|
|
|
|
"测试实例: DSJC0250.5.txt\n",
|
|
|
|
"\n",
|
|
|
|
"使用算法: FunSearch-MCP\n",
|
2025-03-18 16:51:30 +08:00
|
|
|
"执行时间:0.0147秒, 使用颜色数:40\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"\n",
|
|
|
|
"使用算法: EoH-MCP\n",
|
2025-03-18 16:51:30 +08:00
|
|
|
"执行时间:2.3853秒, 使用颜色数:37\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"\n",
|
2025-03-18 16:51:30 +08:00
|
|
|
"使用算法: AAE-MCP\n",
|
|
|
|
"执行时间:0.0454秒, 使用颜色数:37\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"\n",
|
|
|
|
"使用算法: 贪心\n",
|
2025-03-18 16:51:30 +08:00
|
|
|
"执行时间:0.0095秒, 使用颜色数:43\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"\n",
|
|
|
|
"使用算法: Welsh-Powell\n",
|
2025-03-18 16:51:30 +08:00
|
|
|
"执行时间:0.0153秒, 使用颜色数:41\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"\n",
|
|
|
|
"使用算法: DSATUR\n",
|
2025-03-18 16:51:30 +08:00
|
|
|
"执行时间:1.7647秒, 使用颜色数:37\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"\n",
|
|
|
|
"测试实例: DSJC0250.9.txt\n",
|
|
|
|
"\n",
|
|
|
|
"使用算法: FunSearch-MCP\n",
|
2025-03-18 16:51:30 +08:00
|
|
|
"执行时间:0.0160秒, 使用颜色数:92\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"\n",
|
|
|
|
"使用算法: EoH-MCP\n",
|
2025-03-18 16:51:30 +08:00
|
|
|
"执行时间:2.9891秒, 使用颜色数:92\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"\n",
|
2025-03-18 16:51:30 +08:00
|
|
|
"使用算法: AAE-MCP\n",
|
|
|
|
"执行时间:0.1836秒, 使用颜色数: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-18 16:51:30 +08:00
|
|
|
"执行时间:0.0356秒, 使用颜色数:93\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"\n",
|
|
|
|
"使用算法: DSATUR\n",
|
2025-03-18 16:51:30 +08:00
|
|
|
"执行时间:1.9386秒, 使用颜色数:92\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"\n",
|
|
|
|
"测试实例: DSJC0500.1.txt\n",
|
|
|
|
"\n",
|
|
|
|
"使用算法: FunSearch-MCP\n",
|
2025-03-18 16:51:30 +08:00
|
|
|
"执行时间:0.0522秒, 使用颜色数:18\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"\n",
|
|
|
|
"使用算法: EoH-MCP\n",
|
2025-03-18 16:51:30 +08:00
|
|
|
"执行时间:16.7812秒, 使用颜色数:16\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"\n",
|
2025-03-18 16:51:30 +08:00
|
|
|
"使用算法: AAE-MCP\n",
|
|
|
|
"执行时间:0.0935秒, 使用颜色数:16\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"\n",
|
|
|
|
"使用算法: 贪心\n",
|
2025-03-18 16:51:30 +08:00
|
|
|
"执行时间:0.0439秒, 使用颜色数:20\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"\n",
|
|
|
|
"使用算法: Welsh-Powell\n",
|
2025-03-18 16:51:30 +08:00
|
|
|
"执行时间:0.0465秒, 使用颜色数:18\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"\n",
|
|
|
|
"使用算法: DSATUR\n",
|
2025-03-18 16:51:30 +08:00
|
|
|
"执行时间:12.5949秒, 使用颜色数: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-18 16:51:30 +08:00
|
|
|
"执行时间:18.6282秒, 使用颜色数:65\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"\n",
|
2025-03-18 16:51:30 +08:00
|
|
|
"使用算法: AAE-MCP\n",
|
|
|
|
"执行时间:0.2160秒, 使用颜色数:65\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"\n",
|
|
|
|
"使用算法: 贪心\n",
|
2025-03-18 16:51:30 +08:00
|
|
|
"执行时间:0.0438秒, 使用颜色数:72\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"\n",
|
|
|
|
"使用算法: Welsh-Powell\n",
|
2025-03-18 16:51:30 +08:00
|
|
|
"执行时间:0.0799秒, 使用颜色数:71\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"\n",
|
|
|
|
"使用算法: DSATUR\n",
|
2025-03-18 16:51:30 +08:00
|
|
|
"执行时间:14.6898秒, 使用颜色数:65\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"\n",
|
|
|
|
"测试实例: DSJC0500.9.txt\n",
|
|
|
|
"\n",
|
|
|
|
"使用算法: FunSearch-MCP\n",
|
2025-03-18 16:51:30 +08:00
|
|
|
"执行时间:0.0754秒, 使用颜色数:171\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"\n",
|
|
|
|
"使用算法: EoH-MCP\n",
|
2025-03-18 16:51:30 +08:00
|
|
|
"执行时间:23.0478秒, 使用颜色数:170\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"\n",
|
2025-03-18 16:51:30 +08:00
|
|
|
"使用算法: AAE-MCP\n",
|
|
|
|
"执行时间:0.3527秒, 使用颜色数:170\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"\n",
|
|
|
|
"使用算法: 贪心\n",
|
2025-03-18 16:51:30 +08:00
|
|
|
"执行时间:0.0455秒, 使用颜色数:175\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"\n",
|
|
|
|
"使用算法: Welsh-Powell\n",
|
2025-03-18 16:51:30 +08:00
|
|
|
"执行时间:0.1936秒, 使用颜色数:169\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"\n",
|
|
|
|
"使用算法: DSATUR\n",
|
2025-03-18 16:51:30 +08:00
|
|
|
"执行时间:14.5305秒, 使用颜色数:170\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"\n",
|
|
|
|
"测试实例: DSJC1000.1.txt\n",
|
|
|
|
"\n",
|
|
|
|
"使用算法: FunSearch-MCP\n",
|
2025-03-18 16:51:30 +08:00
|
|
|
"执行时间:0.2045秒, 使用颜色数:29\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"\n",
|
|
|
|
"使用算法: EoH-MCP\n",
|
2025-03-18 16:51:30 +08:00
|
|
|
"执行时间:122.7522秒, 使用颜色数:27\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"\n",
|
2025-03-18 16:51:30 +08:00
|
|
|
"使用算法: AAE-MCP\n",
|
|
|
|
"执行时间:0.2949秒, 使用颜色数:27\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"\n",
|
|
|
|
"使用算法: 贪心\n",
|
2025-03-18 16:51:30 +08:00
|
|
|
"执行时间:0.1469秒, 使用颜色数:31\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"\n",
|
|
|
|
"使用算法: Welsh-Powell\n",
|
2025-03-18 16:51:30 +08:00
|
|
|
"执行时间:0.1831秒, 使用颜色数:29\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"\n",
|
|
|
|
"使用算法: DSATUR\n",
|
2025-03-18 16:51:30 +08:00
|
|
|
"执行时间:96.6556秒, 使用颜色数:27\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"\n",
|
|
|
|
"测试实例: DSJC1000.5.txt\n",
|
|
|
|
"\n",
|
|
|
|
"使用算法: FunSearch-MCP\n",
|
2025-03-18 16:51:30 +08:00
|
|
|
"执行时间:0.2217秒, 使用颜色数:123\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"\n",
|
|
|
|
"使用算法: EoH-MCP\n",
|
2025-03-18 16:51:30 +08:00
|
|
|
"执行时间:142.0033秒, 使用颜色数:115\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"\n",
|
2025-03-18 16:51:30 +08:00
|
|
|
"使用算法: AAE-MCP\n",
|
|
|
|
"执行时间:0.8392秒, 使用颜色数:115\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"\n",
|
|
|
|
"使用算法: 贪心\n",
|
2025-03-18 16:51:30 +08:00
|
|
|
"执行时间:0.1663秒, 使用颜色数:127\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"\n",
|
|
|
|
"使用算法: Welsh-Powell\n",
|
2025-03-18 16:51:30 +08:00
|
|
|
"执行时间:0.4809秒, 使用颜色数:121\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"\n",
|
|
|
|
"使用算法: DSATUR\n",
|
2025-03-18 16:51:30 +08:00
|
|
|
"执行时间:106.3345秒, 使用颜色数:115\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"\n",
|
|
|
|
"测试实例: DSJC1000.9.txt\n",
|
|
|
|
"\n",
|
|
|
|
"使用算法: FunSearch-MCP\n",
|
2025-03-18 16:51:30 +08:00
|
|
|
"执行时间:0.2358秒, 使用颜色数:316\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"\n",
|
|
|
|
"使用算法: EoH-MCP\n",
|
2025-03-18 16:51:30 +08:00
|
|
|
"执行时间:164.6181秒, 使用颜色数:299\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"\n",
|
2025-03-18 16:51:30 +08:00
|
|
|
"使用算法: AAE-MCP\n",
|
|
|
|
"执行时间:1.3996秒, 使用颜色数:299\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"\n",
|
|
|
|
"使用算法: 贪心\n",
|
2025-03-18 16:51:30 +08:00
|
|
|
"执行时间:0.1856秒, 使用颜色数:321\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"\n",
|
|
|
|
"使用算法: Welsh-Powell\n",
|
2025-03-18 16:51:30 +08:00
|
|
|
"执行时间:1.4151秒, 使用颜色数:313\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"\n",
|
|
|
|
"使用算法: DSATUR\n",
|
2025-03-18 16:51:30 +08:00
|
|
|
"执行时间:128.1266秒, 使用颜色数: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-18 16:51:30 +08:00
|
|
|
" FunSearch-MCP: 执行时间 = {'DSJC0125.1.txt': 0.010560035705566406, 'DSJC0125.5.txt': 0.0035393238067626953, 'DSJC0125.9.txt': 0.003525257110595703, 'DSJC0250.1.txt': 0.011104822158813477, 'DSJC0250.5.txt': 0.01467132568359375, 'DSJC0250.9.txt': 0.01604008674621582, 'DSJC0500.1.txt': 0.05222797393798828, 'DSJC0500.5.txt': 0.05559563636779785, 'DSJC0500.9.txt': 0.07539129257202148, 'DSJC1000.1.txt': 0.204453706741333, 'DSJC1000.5.txt': 0.2216651439666748, 'DSJC1000.9.txt': 0.23581409454345703}\n",
|
|
|
|
" EoH-MCP: 执行时间 = {'DSJC0125.1.txt': 0.2657294273376465, 'DSJC0125.5.txt': 0.3157191276550293, 'DSJC0125.9.txt': 0.3592233657836914, 'DSJC0250.1.txt': 1.9986271858215332, 'DSJC0250.5.txt': 2.3853354454040527, 'DSJC0250.9.txt': 2.989116907119751, 'DSJC0500.1.txt': 16.78122878074646, 'DSJC0500.5.txt': 18.628207206726074, 'DSJC0500.9.txt': 23.047802925109863, 'DSJC1000.1.txt': 122.75219559669495, 'DSJC1000.5.txt': 142.00333714485168, 'DSJC1000.9.txt': 164.6181070804596}\n",
|
|
|
|
" AAE-MCP: 执行时间 = {'DSJC0125.1.txt': 0.0070340633392333984, 'DSJC0125.5.txt': 0.01272726058959961, 'DSJC0125.9.txt': 0.019374370574951172, 'DSJC0250.1.txt': 0.019664525985717773, 'DSJC0250.5.txt': 0.04539036750793457, 'DSJC0250.9.txt': 0.18355083465576172, 'DSJC0500.1.txt': 0.09353065490722656, 'DSJC0500.5.txt': 0.21602964401245117, 'DSJC0500.9.txt': 0.35271167755126953, 'DSJC1000.1.txt': 0.294903039932251, 'DSJC1000.5.txt': 0.8391859531402588, 'DSJC1000.9.txt': 1.3996093273162842}\n",
|
|
|
|
" 贪心: 执行时间 = {'DSJC0125.1.txt': 0.0020036697387695312, 'DSJC0125.5.txt': 0.0030128955841064453, 'DSJC0125.9.txt': 0.0030007362365722656, 'DSJC0250.1.txt': 0.009136676788330078, 'DSJC0250.5.txt': 0.009547948837280273, 'DSJC0250.9.txt': 0.010493755340576172, 'DSJC0500.1.txt': 0.04389691352844238, 'DSJC0500.5.txt': 0.043775320053100586, 'DSJC0500.9.txt': 0.0454859733581543, 'DSJC1000.1.txt': 0.14690470695495605, 'DSJC1000.5.txt': 0.16630005836486816, 'DSJC1000.9.txt': 0.18558239936828613}\n",
|
|
|
|
" Welsh-Powell: 执行时间 = {'DSJC0125.1.txt': 0.0020334720611572266, 'DSJC0125.5.txt': 0.003046751022338867, 'DSJC0125.9.txt': 0.006543397903442383, 'DSJC0250.1.txt': 0.008815288543701172, 'DSJC0250.5.txt': 0.015262365341186523, 'DSJC0250.9.txt': 0.03563809394836426, 'DSJC0500.1.txt': 0.04653811454772949, 'DSJC0500.5.txt': 0.07994246482849121, 'DSJC0500.9.txt': 0.19355511665344238, 'DSJC1000.1.txt': 0.1831059455871582, 'DSJC1000.5.txt': 0.48086977005004883, 'DSJC1000.9.txt': 1.4151320457458496}\n",
|
|
|
|
" DSATUR: 执行时间 = {'DSJC0125.1.txt': 0.20441937446594238, 'DSJC0125.5.txt': 0.22018790245056152, 'DSJC0125.9.txt': 0.23067665100097656, 'DSJC0250.1.txt': 1.5610229969024658, 'DSJC0250.5.txt': 1.7647099494934082, 'DSJC0250.9.txt': 1.9385864734649658, 'DSJC0500.1.txt': 12.594899415969849, 'DSJC0500.5.txt': 14.689803123474121, 'DSJC0500.9.txt': 14.530549764633179, 'DSJC1000.1.txt': 96.6555712223053, 'DSJC1000.5.txt': 106.33447790145874, 'DSJC1000.9.txt': 128.1265606880188}\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-18 16:51:30 +08:00
|
|
|
" FunSearch-MCP: 执行时间 = {'DSJC0125.1.txt': 0.010560035705566406, 'DSJC0125.5.txt': 0.0035393238067626953, 'DSJC0125.9.txt': 0.003525257110595703, 'DSJC0250.1.txt': 0.011104822158813477, 'DSJC0250.5.txt': 0.01467132568359375, 'DSJC0250.9.txt': 0.01604008674621582, 'DSJC0500.1.txt': 0.05222797393798828, 'DSJC0500.5.txt': 0.05559563636779785, 'DSJC0500.9.txt': 0.07539129257202148, 'DSJC1000.1.txt': 0.204453706741333, 'DSJC1000.5.txt': 0.2216651439666748, 'DSJC1000.9.txt': 0.23581409454345703}\n",
|
|
|
|
" EoH-MCP: 执行时间 = {'DSJC0125.1.txt': 0.2657294273376465, 'DSJC0125.5.txt': 0.3157191276550293, 'DSJC0125.9.txt': 0.3592233657836914, 'DSJC0250.1.txt': 1.9986271858215332, 'DSJC0250.5.txt': 2.3853354454040527, 'DSJC0250.9.txt': 2.989116907119751, 'DSJC0500.1.txt': 16.78122878074646, 'DSJC0500.5.txt': 18.628207206726074, 'DSJC0500.9.txt': 23.047802925109863, 'DSJC1000.1.txt': 122.75219559669495, 'DSJC1000.5.txt': 142.00333714485168, 'DSJC1000.9.txt': 164.6181070804596}\n",
|
|
|
|
" AAE-MCP: 执行时间 = {'DSJC0125.1.txt': 0.0070340633392333984, 'DSJC0125.5.txt': 0.01272726058959961, 'DSJC0125.9.txt': 0.019374370574951172, 'DSJC0250.1.txt': 0.019664525985717773, 'DSJC0250.5.txt': 0.04539036750793457, 'DSJC0250.9.txt': 0.18355083465576172, 'DSJC0500.1.txt': 0.09353065490722656, 'DSJC0500.5.txt': 0.21602964401245117, 'DSJC0500.9.txt': 0.35271167755126953, 'DSJC1000.1.txt': 0.294903039932251, 'DSJC1000.5.txt': 0.8391859531402588, 'DSJC1000.9.txt': 1.3996093273162842}\n",
|
|
|
|
" 贪心: 执行时间 = {'DSJC0125.1.txt': 0.0020036697387695312, 'DSJC0125.5.txt': 0.0030128955841064453, 'DSJC0125.9.txt': 0.0030007362365722656, 'DSJC0250.1.txt': 0.009136676788330078, 'DSJC0250.5.txt': 0.009547948837280273, 'DSJC0250.9.txt': 0.010493755340576172, 'DSJC0500.1.txt': 0.04389691352844238, 'DSJC0500.5.txt': 0.043775320053100586, 'DSJC0500.9.txt': 0.0454859733581543, 'DSJC1000.1.txt': 0.14690470695495605, 'DSJC1000.5.txt': 0.16630005836486816, 'DSJC1000.9.txt': 0.18558239936828613}\n",
|
|
|
|
" Welsh-Powell: 执行时间 = {'DSJC0125.1.txt': 0.0020334720611572266, 'DSJC0125.5.txt': 0.003046751022338867, 'DSJC0125.9.txt': 0.006543397903442383, 'DSJC0250.1.txt': 0.008815288543701172, 'DSJC0250.5.txt': 0.015262365341186523, 'DSJC0250.9.txt': 0.03563809394836426, 'DSJC0500.1.txt': 0.04653811454772949, 'DSJC0500.5.txt': 0.07994246482849121, 'DSJC0500.9.txt': 0.19355511665344238, 'DSJC1000.1.txt': 0.1831059455871582, 'DSJC1000.5.txt': 0.48086977005004883, 'DSJC1000.9.txt': 1.4151320457458496}\n",
|
|
|
|
" DSATUR: 执行时间 = {'DSJC0125.1.txt': 0.20441937446594238, 'DSJC0125.5.txt': 0.22018790245056152, 'DSJC0125.9.txt': 0.23067665100097656, 'DSJC0250.1.txt': 1.5610229969024658, 'DSJC0250.5.txt': 1.7647099494934082, 'DSJC0250.9.txt': 1.9385864734649658, 'DSJC0500.1.txt': 12.594899415969849, 'DSJC0500.5.txt': 14.689803123474121, 'DSJC0500.9.txt': 14.530549764633179, 'DSJC1000.1.txt': 96.6555712223053, 'DSJC1000.5.txt': 106.33447790145874, 'DSJC1000.9.txt': 128.1265606880188}\n",
|
|
|
|
"\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-18 16:51:30 +08:00
|
|
|
" FunSearch-MCP: 执行时间 = {'DSJC0125.1.txt': 0.010560035705566406, 'DSJC0125.5.txt': 0.0035393238067626953, 'DSJC0125.9.txt': 0.003525257110595703, 'DSJC0250.1.txt': 0.011104822158813477, 'DSJC0250.5.txt': 0.01467132568359375, 'DSJC0250.9.txt': 0.01604008674621582, 'DSJC0500.1.txt': 0.05222797393798828, 'DSJC0500.5.txt': 0.05559563636779785, 'DSJC0500.9.txt': 0.07539129257202148, 'DSJC1000.1.txt': 0.204453706741333, 'DSJC1000.5.txt': 0.2216651439666748, 'DSJC1000.9.txt': 0.23581409454345703}\n",
|
|
|
|
" EoH-MCP: 执行时间 = {'DSJC0125.1.txt': 0.2657294273376465, 'DSJC0125.5.txt': 0.3157191276550293, 'DSJC0125.9.txt': 0.3592233657836914, 'DSJC0250.1.txt': 1.9986271858215332, 'DSJC0250.5.txt': 2.3853354454040527, 'DSJC0250.9.txt': 2.989116907119751, 'DSJC0500.1.txt': 16.78122878074646, 'DSJC0500.5.txt': 18.628207206726074, 'DSJC0500.9.txt': 23.047802925109863, 'DSJC1000.1.txt': 122.75219559669495, 'DSJC1000.5.txt': 142.00333714485168, 'DSJC1000.9.txt': 164.6181070804596}\n",
|
|
|
|
" AAE-MCP: 执行时间 = {'DSJC0125.1.txt': 0.0070340633392333984, 'DSJC0125.5.txt': 0.01272726058959961, 'DSJC0125.9.txt': 0.019374370574951172, 'DSJC0250.1.txt': 0.019664525985717773, 'DSJC0250.5.txt': 0.04539036750793457, 'DSJC0250.9.txt': 0.18355083465576172, 'DSJC0500.1.txt': 0.09353065490722656, 'DSJC0500.5.txt': 0.21602964401245117, 'DSJC0500.9.txt': 0.35271167755126953, 'DSJC1000.1.txt': 0.294903039932251, 'DSJC1000.5.txt': 0.8391859531402588, 'DSJC1000.9.txt': 1.3996093273162842}\n",
|
|
|
|
" 贪心: 执行时间 = {'DSJC0125.1.txt': 0.0020036697387695312, 'DSJC0125.5.txt': 0.0030128955841064453, 'DSJC0125.9.txt': 0.0030007362365722656, 'DSJC0250.1.txt': 0.009136676788330078, 'DSJC0250.5.txt': 0.009547948837280273, 'DSJC0250.9.txt': 0.010493755340576172, 'DSJC0500.1.txt': 0.04389691352844238, 'DSJC0500.5.txt': 0.043775320053100586, 'DSJC0500.9.txt': 0.0454859733581543, 'DSJC1000.1.txt': 0.14690470695495605, 'DSJC1000.5.txt': 0.16630005836486816, 'DSJC1000.9.txt': 0.18558239936828613}\n",
|
|
|
|
" Welsh-Powell: 执行时间 = {'DSJC0125.1.txt': 0.0020334720611572266, 'DSJC0125.5.txt': 0.003046751022338867, 'DSJC0125.9.txt': 0.006543397903442383, 'DSJC0250.1.txt': 0.008815288543701172, 'DSJC0250.5.txt': 0.015262365341186523, 'DSJC0250.9.txt': 0.03563809394836426, 'DSJC0500.1.txt': 0.04653811454772949, 'DSJC0500.5.txt': 0.07994246482849121, 'DSJC0500.9.txt': 0.19355511665344238, 'DSJC1000.1.txt': 0.1831059455871582, 'DSJC1000.5.txt': 0.48086977005004883, 'DSJC1000.9.txt': 1.4151320457458496}\n",
|
|
|
|
" DSATUR: 执行时间 = {'DSJC0125.1.txt': 0.20441937446594238, 'DSJC0125.5.txt': 0.22018790245056152, 'DSJC0125.9.txt': 0.23067665100097656, 'DSJC0250.1.txt': 1.5610229969024658, 'DSJC0250.5.txt': 1.7647099494934082, 'DSJC0250.9.txt': 1.9385864734649658, 'DSJC0500.1.txt': 12.594899415969849, 'DSJC0500.5.txt': 14.689803123474121, 'DSJC0500.9.txt': 14.530549764633179, 'DSJC1000.1.txt': 96.6555712223053, 'DSJC1000.5.txt': 106.33447790145874, 'DSJC1000.9.txt': 128.1265606880188}\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-18 16:51:30 +08:00
|
|
|
" FunSearch-MCP: 执行时间 = {'DSJC0125.1.txt': 0.010560035705566406, 'DSJC0125.5.txt': 0.0035393238067626953, 'DSJC0125.9.txt': 0.003525257110595703, 'DSJC0250.1.txt': 0.011104822158813477, 'DSJC0250.5.txt': 0.01467132568359375, 'DSJC0250.9.txt': 0.01604008674621582, 'DSJC0500.1.txt': 0.05222797393798828, 'DSJC0500.5.txt': 0.05559563636779785, 'DSJC0500.9.txt': 0.07539129257202148, 'DSJC1000.1.txt': 0.204453706741333, 'DSJC1000.5.txt': 0.2216651439666748, 'DSJC1000.9.txt': 0.23581409454345703}\n",
|
|
|
|
" EoH-MCP: 执行时间 = {'DSJC0125.1.txt': 0.2657294273376465, 'DSJC0125.5.txt': 0.3157191276550293, 'DSJC0125.9.txt': 0.3592233657836914, 'DSJC0250.1.txt': 1.9986271858215332, 'DSJC0250.5.txt': 2.3853354454040527, 'DSJC0250.9.txt': 2.989116907119751, 'DSJC0500.1.txt': 16.78122878074646, 'DSJC0500.5.txt': 18.628207206726074, 'DSJC0500.9.txt': 23.047802925109863, 'DSJC1000.1.txt': 122.75219559669495, 'DSJC1000.5.txt': 142.00333714485168, 'DSJC1000.9.txt': 164.6181070804596}\n",
|
|
|
|
" AAE-MCP: 执行时间 = {'DSJC0125.1.txt': 0.0070340633392333984, 'DSJC0125.5.txt': 0.01272726058959961, 'DSJC0125.9.txt': 0.019374370574951172, 'DSJC0250.1.txt': 0.019664525985717773, 'DSJC0250.5.txt': 0.04539036750793457, 'DSJC0250.9.txt': 0.18355083465576172, 'DSJC0500.1.txt': 0.09353065490722656, 'DSJC0500.5.txt': 0.21602964401245117, 'DSJC0500.9.txt': 0.35271167755126953, 'DSJC1000.1.txt': 0.294903039932251, 'DSJC1000.5.txt': 0.8391859531402588, 'DSJC1000.9.txt': 1.3996093273162842}\n",
|
|
|
|
" 贪心: 执行时间 = {'DSJC0125.1.txt': 0.0020036697387695312, 'DSJC0125.5.txt': 0.0030128955841064453, 'DSJC0125.9.txt': 0.0030007362365722656, 'DSJC0250.1.txt': 0.009136676788330078, 'DSJC0250.5.txt': 0.009547948837280273, 'DSJC0250.9.txt': 0.010493755340576172, 'DSJC0500.1.txt': 0.04389691352844238, 'DSJC0500.5.txt': 0.043775320053100586, 'DSJC0500.9.txt': 0.0454859733581543, 'DSJC1000.1.txt': 0.14690470695495605, 'DSJC1000.5.txt': 0.16630005836486816, 'DSJC1000.9.txt': 0.18558239936828613}\n",
|
|
|
|
" Welsh-Powell: 执行时间 = {'DSJC0125.1.txt': 0.0020334720611572266, 'DSJC0125.5.txt': 0.003046751022338867, 'DSJC0125.9.txt': 0.006543397903442383, 'DSJC0250.1.txt': 0.008815288543701172, 'DSJC0250.5.txt': 0.015262365341186523, 'DSJC0250.9.txt': 0.03563809394836426, 'DSJC0500.1.txt': 0.04653811454772949, 'DSJC0500.5.txt': 0.07994246482849121, 'DSJC0500.9.txt': 0.19355511665344238, 'DSJC1000.1.txt': 0.1831059455871582, 'DSJC1000.5.txt': 0.48086977005004883, 'DSJC1000.9.txt': 1.4151320457458496}\n",
|
|
|
|
" DSATUR: 执行时间 = {'DSJC0125.1.txt': 0.20441937446594238, 'DSJC0125.5.txt': 0.22018790245056152, 'DSJC0125.9.txt': 0.23067665100097656, 'DSJC0250.1.txt': 1.5610229969024658, 'DSJC0250.5.txt': 1.7647099494934082, 'DSJC0250.9.txt': 1.9385864734649658, 'DSJC0500.1.txt': 12.594899415969849, 'DSJC0500.5.txt': 14.689803123474121, 'DSJC0500.9.txt': 14.530549764633179, 'DSJC1000.1.txt': 96.6555712223053, 'DSJC1000.5.txt': 106.33447790145874, 'DSJC1000.9.txt': 128.1265606880188}\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-18 16:51:30 +08:00
|
|
|
" FunSearch-MCP: 执行时间 = {'DSJC0125.1.txt': 0.010560035705566406, 'DSJC0125.5.txt': 0.0035393238067626953, 'DSJC0125.9.txt': 0.003525257110595703, 'DSJC0250.1.txt': 0.011104822158813477, 'DSJC0250.5.txt': 0.01467132568359375, 'DSJC0250.9.txt': 0.01604008674621582, 'DSJC0500.1.txt': 0.05222797393798828, 'DSJC0500.5.txt': 0.05559563636779785, 'DSJC0500.9.txt': 0.07539129257202148, 'DSJC1000.1.txt': 0.204453706741333, 'DSJC1000.5.txt': 0.2216651439666748, 'DSJC1000.9.txt': 0.23581409454345703}\n",
|
|
|
|
" EoH-MCP: 执行时间 = {'DSJC0125.1.txt': 0.2657294273376465, 'DSJC0125.5.txt': 0.3157191276550293, 'DSJC0125.9.txt': 0.3592233657836914, 'DSJC0250.1.txt': 1.9986271858215332, 'DSJC0250.5.txt': 2.3853354454040527, 'DSJC0250.9.txt': 2.989116907119751, 'DSJC0500.1.txt': 16.78122878074646, 'DSJC0500.5.txt': 18.628207206726074, 'DSJC0500.9.txt': 23.047802925109863, 'DSJC1000.1.txt': 122.75219559669495, 'DSJC1000.5.txt': 142.00333714485168, 'DSJC1000.9.txt': 164.6181070804596}\n",
|
|
|
|
" AAE-MCP: 执行时间 = {'DSJC0125.1.txt': 0.0070340633392333984, 'DSJC0125.5.txt': 0.01272726058959961, 'DSJC0125.9.txt': 0.019374370574951172, 'DSJC0250.1.txt': 0.019664525985717773, 'DSJC0250.5.txt': 0.04539036750793457, 'DSJC0250.9.txt': 0.18355083465576172, 'DSJC0500.1.txt': 0.09353065490722656, 'DSJC0500.5.txt': 0.21602964401245117, 'DSJC0500.9.txt': 0.35271167755126953, 'DSJC1000.1.txt': 0.294903039932251, 'DSJC1000.5.txt': 0.8391859531402588, 'DSJC1000.9.txt': 1.3996093273162842}\n",
|
|
|
|
" 贪心: 执行时间 = {'DSJC0125.1.txt': 0.0020036697387695312, 'DSJC0125.5.txt': 0.0030128955841064453, 'DSJC0125.9.txt': 0.0030007362365722656, 'DSJC0250.1.txt': 0.009136676788330078, 'DSJC0250.5.txt': 0.009547948837280273, 'DSJC0250.9.txt': 0.010493755340576172, 'DSJC0500.1.txt': 0.04389691352844238, 'DSJC0500.5.txt': 0.043775320053100586, 'DSJC0500.9.txt': 0.0454859733581543, 'DSJC1000.1.txt': 0.14690470695495605, 'DSJC1000.5.txt': 0.16630005836486816, 'DSJC1000.9.txt': 0.18558239936828613}\n",
|
|
|
|
" Welsh-Powell: 执行时间 = {'DSJC0125.1.txt': 0.0020334720611572266, 'DSJC0125.5.txt': 0.003046751022338867, 'DSJC0125.9.txt': 0.006543397903442383, 'DSJC0250.1.txt': 0.008815288543701172, 'DSJC0250.5.txt': 0.015262365341186523, 'DSJC0250.9.txt': 0.03563809394836426, 'DSJC0500.1.txt': 0.04653811454772949, 'DSJC0500.5.txt': 0.07994246482849121, 'DSJC0500.9.txt': 0.19355511665344238, 'DSJC1000.1.txt': 0.1831059455871582, 'DSJC1000.5.txt': 0.48086977005004883, 'DSJC1000.9.txt': 1.4151320457458496}\n",
|
|
|
|
" DSATUR: 执行时间 = {'DSJC0125.1.txt': 0.20441937446594238, 'DSJC0125.5.txt': 0.22018790245056152, 'DSJC0125.9.txt': 0.23067665100097656, 'DSJC0250.1.txt': 1.5610229969024658, 'DSJC0250.5.txt': 1.7647099494934082, 'DSJC0250.9.txt': 1.9385864734649658, 'DSJC0500.1.txt': 12.594899415969849, 'DSJC0500.5.txt': 14.689803123474121, 'DSJC0500.9.txt': 14.530549764633179, 'DSJC1000.1.txt': 96.6555712223053, 'DSJC1000.5.txt': 106.33447790145874, 'DSJC1000.9.txt': 128.1265606880188}\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-18 16:51:30 +08:00
|
|
|
" FunSearch-MCP: 执行时间 = {'DSJC0125.1.txt': 0.010560035705566406, 'DSJC0125.5.txt': 0.0035393238067626953, 'DSJC0125.9.txt': 0.003525257110595703, 'DSJC0250.1.txt': 0.011104822158813477, 'DSJC0250.5.txt': 0.01467132568359375, 'DSJC0250.9.txt': 0.01604008674621582, 'DSJC0500.1.txt': 0.05222797393798828, 'DSJC0500.5.txt': 0.05559563636779785, 'DSJC0500.9.txt': 0.07539129257202148, 'DSJC1000.1.txt': 0.204453706741333, 'DSJC1000.5.txt': 0.2216651439666748, 'DSJC1000.9.txt': 0.23581409454345703}\n",
|
|
|
|
" EoH-MCP: 执行时间 = {'DSJC0125.1.txt': 0.2657294273376465, 'DSJC0125.5.txt': 0.3157191276550293, 'DSJC0125.9.txt': 0.3592233657836914, 'DSJC0250.1.txt': 1.9986271858215332, 'DSJC0250.5.txt': 2.3853354454040527, 'DSJC0250.9.txt': 2.989116907119751, 'DSJC0500.1.txt': 16.78122878074646, 'DSJC0500.5.txt': 18.628207206726074, 'DSJC0500.9.txt': 23.047802925109863, 'DSJC1000.1.txt': 122.75219559669495, 'DSJC1000.5.txt': 142.00333714485168, 'DSJC1000.9.txt': 164.6181070804596}\n",
|
|
|
|
" AAE-MCP: 执行时间 = {'DSJC0125.1.txt': 0.0070340633392333984, 'DSJC0125.5.txt': 0.01272726058959961, 'DSJC0125.9.txt': 0.019374370574951172, 'DSJC0250.1.txt': 0.019664525985717773, 'DSJC0250.5.txt': 0.04539036750793457, 'DSJC0250.9.txt': 0.18355083465576172, 'DSJC0500.1.txt': 0.09353065490722656, 'DSJC0500.5.txt': 0.21602964401245117, 'DSJC0500.9.txt': 0.35271167755126953, 'DSJC1000.1.txt': 0.294903039932251, 'DSJC1000.5.txt': 0.8391859531402588, 'DSJC1000.9.txt': 1.3996093273162842}\n",
|
|
|
|
" 贪心: 执行时间 = {'DSJC0125.1.txt': 0.0020036697387695312, 'DSJC0125.5.txt': 0.0030128955841064453, 'DSJC0125.9.txt': 0.0030007362365722656, 'DSJC0250.1.txt': 0.009136676788330078, 'DSJC0250.5.txt': 0.009547948837280273, 'DSJC0250.9.txt': 0.010493755340576172, 'DSJC0500.1.txt': 0.04389691352844238, 'DSJC0500.5.txt': 0.043775320053100586, 'DSJC0500.9.txt': 0.0454859733581543, 'DSJC1000.1.txt': 0.14690470695495605, 'DSJC1000.5.txt': 0.16630005836486816, 'DSJC1000.9.txt': 0.18558239936828613}\n",
|
|
|
|
" Welsh-Powell: 执行时间 = {'DSJC0125.1.txt': 0.0020334720611572266, 'DSJC0125.5.txt': 0.003046751022338867, 'DSJC0125.9.txt': 0.006543397903442383, 'DSJC0250.1.txt': 0.008815288543701172, 'DSJC0250.5.txt': 0.015262365341186523, 'DSJC0250.9.txt': 0.03563809394836426, 'DSJC0500.1.txt': 0.04653811454772949, 'DSJC0500.5.txt': 0.07994246482849121, 'DSJC0500.9.txt': 0.19355511665344238, 'DSJC1000.1.txt': 0.1831059455871582, 'DSJC1000.5.txt': 0.48086977005004883, 'DSJC1000.9.txt': 1.4151320457458496}\n",
|
|
|
|
" DSATUR: 执行时间 = {'DSJC0125.1.txt': 0.20441937446594238, 'DSJC0125.5.txt': 0.22018790245056152, 'DSJC0125.9.txt': 0.23067665100097656, 'DSJC0250.1.txt': 1.5610229969024658, 'DSJC0250.5.txt': 1.7647099494934082, 'DSJC0250.9.txt': 1.9385864734649658, 'DSJC0500.1.txt': 12.594899415969849, 'DSJC0500.5.txt': 14.689803123474121, 'DSJC0500.9.txt': 14.530549764633179, 'DSJC1000.1.txt': 96.6555712223053, 'DSJC1000.5.txt': 106.33447790145874, 'DSJC1000.9.txt': 128.1265606880188}\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",
|
|
|
|
"execution_count": 5,
|
|
|
|
"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",
|
|
|
|
"MCP0125.1 0.0106 0.2657 0.0070 0.0020 0.0020 0.2044\n",
|
|
|
|
"MCP0125.5 0.0035 0.3157 0.0127 0.0030 0.0030 0.2202\n",
|
|
|
|
"MCP0125.9 0.0035 0.3592 0.0194 0.0030 0.0065 0.2307\n",
|
|
|
|
"MCP0250.1 0.0111 1.9986 0.0197 0.0091 0.0088 1.5610\n",
|
|
|
|
"MCP0250.5 0.0147 2.3853 0.0454 0.0095 0.0153 1.7647\n",
|
|
|
|
"MCP0250.9 0.0160 2.9891 0.1836 0.0105 0.0356 1.9386\n",
|
|
|
|
"MCP0500.1 0.0522 16.7812 0.0935 0.0439 0.0465 12.5949\n",
|
|
|
|
"MCP0500.5 0.0556 18.6282 0.2160 0.0438 0.0799 14.6898\n",
|
|
|
|
"MCP0500.9 0.0754 23.0478 0.3527 0.0455 0.1936 14.5305\n",
|
|
|
|
"MCP1000.1 0.2045 122.7522 0.2949 0.1469 0.1831 96.6556\n",
|
|
|
|
"MCP1000.5 0.2217 142.0033 0.8392 0.1663 0.4809 106.3345\n",
|
|
|
|
"MCP1000.9 0.2358 164.6181 1.3996 0.1856 1.4151 128.1266\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-18 16:51:30 +08:00
|
|
|
"execution_count": 6,
|
2025-03-17 16:40:01 +08:00
|
|
|
"metadata": {},
|
|
|
|
"outputs": [
|
|
|
|
{
|
|
|
|
"data": {
|
2025-03-18 16:51:30 +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",
|
|
|
|
" plt.scatter(x, y,\n",
|
|
|
|
" color=colors[i % len(colors)], # 使用取模确保不会越界\n",
|
|
|
|
" marker=markers[i % len(markers)],\n",
|
|
|
|
" s=100,\n",
|
|
|
|
" label=alg)\n",
|
|
|
|
" # 为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
|
|
|
|
}
|