function generateTSPLIB(distances) {
const dimension = distances[0].length + 1;
const lines = [
"NAME : generated_problem",
"TYPE : TSP",
`DIMENSION : ${dimension}`,
"EDGE_WEIGHT_TYPE : EXPLICIT",
"EDGE_WEIGHT_FORMAT : UPPER_ROW",
"NODE_COORD_TYPE : NO_COORDS",
"DISPLAY_DATA_TYPE : NO_DISPLAY",
"",
"EDGE_WEIGHT_SECTION :"
];
for (let i = 0; i < distances.length; i++) {
const row = distances[i].map((d) => Math.round(d)).join(" ");
if (row.length > 0) {
lines.push(row);
}
}
console.log("Generated TSPLIB file:");
console.log(lines.join("\n"));
return lines.join("\n");
}