小编Awa*_*hid的帖子

如何在遗传算法中进行二进制编码以获得更好的时间表调度问题结果?

我有一个大学时间表安排问题,我正在尝试用遗传算法解决。我想知道这个问题的最佳编码类型,这也可以帮助我满足一些约束。对于这个问题,时间表将具有以下结构,

  • 总共有5天的时间安排(周一至周五)。
  • 每天会有5个不同的时段,每个时段有一场讲座。
  • 但是,实验室讲座将在两个连续时段进行。
  • 时间表还将告知每个讲座的房间号(或实验室号)以及每个讲座的讲师姓名。

现在,时间表看起来像这样,(图中有多个时段,但我只会考虑 5 个时段,而不是将时间表分成这么多时段

在此输入图像描述

这是只有一个部分的时间表。一张时间表大约包含 25 个部分。

现在,我所做的是将每门课程、其部分及其讲师的数据以如下格式写入一个文件中,

1
Object Oriented Programming 
CS-3B
Dr Ali Hassan 
,
2
Object Oriented Programming 
SE-3A
Dr Ali Hassan 
,
3
Remote Sensing and GIS 
CS-7F
Dr Tom Baker
Run Code Online (Sandbox Code Playgroud)

为了表示时间表,我制作了这样的文件,

0
1
2 2 9
3 2 9
0
2
2 1 9
3 1 9
0
3
2 5 36
4 1 36
Run Code Online (Sandbox Code Playgroud)
  • 0 是分隔符,它将一个对象与另一个对象分开。
  • 第一个数字基本上是课程的 ID。“1”实际上代表我的第一个文件中的第一个对象(即面向对象编程,CS-3A,Ali Hassan 博士)。
  • 第二行代表时间表中课程的第一堂课(id = 1)。格式如下,第一个数字 …

algorithm encoding np-complete np-hard genetic-algorithm

6
推荐指数
1
解决办法
432
查看次数

根据Python文件中的数据水平合并和划分HTML表格中的时间表单元格

请注意这个问题是之前提出的问题的扩展:How to make Images/PDF of Timetable using Python

我正在开发一个基于算法生成随机时间表的程序。对于该程序的最终输出,我需要将时间表存储在 PDF 文件中。

有多个部分,每个部分必须有自己的时间表/时间表。每个部分可以有多个课程,这些课程的讲座将根据算法分配在周一至周五的不同时段。对于我的时间表,

  • 一共5天(周一至周五)
  • 每天将有 5 个时段(索引为 0 到 4。第 3 个时段和第 4 个时段之间有“午餐”休息时间)

作为示例,我在下面创建了一个字典,其中键代表部分项目具有大小为 5x5 的二​​维数组。该二维数组的每个索引都包含讲座将在该时段进行的课程详细信息。

CS-3B :  [['', '', 'DS ', '', 'COaAL '], ['', 'COaAL ', '', 'DS ', 'OOP '], ['DS-L ', 'DS-L ', 'OOP-L ', 'OOP-L ', 'FoM '], ['COaAL-L ', 'COaAL-L ', 'OOP ', '', ''], ['', 'FoM ', 'DE ', '', 'DE ']]
SE-3A :  [['', 'OOP-L …
Run Code Online (Sandbox Code Playgroud)

pdfkit jinja2 timetable python-3.x

5
推荐指数
1
解决办法
759
查看次数

如何改进要转换为 PDF 文件的 HTML 表格样式

我有一个 Python 代码,它创建 HTML 表,然后将其转换为 PDF 文件。这是我目前得到的输出

55% 变焦时

该图像取自正在生成的 PDF 文件(缩小了 55%)

我想让这个看起来更好。类似的东西,如果我可以的话

在此输入图像描述

该图像有 13 列,我不想要这样。我想保留 5 列td,但我主要关心的是HTML 文件中的大小。它太小了width,这就是为什么每个文本也都堆积得很厉害td。但如果你看另一张图像,文本会更加明显,并且框的宽度要大得多。此外,它也不会遇到高度问题(盒子的高度是这样的,它覆盖了整个PDF页面,并且所有的tds看起来都不像stretched down

我尝试td在 HTML 文件中调整我的高度和宽度,但不幸的是,似乎没有什么真正适合我。

编辑:使用 提供的代码onkar ruikar,我能够取得非常好的结果。然而,它造成了我之前遇到的同样的问题。这里提出了这个问题:Horizo​​ntally merge and split cells in an HTML Table for Timetable based on the Data in Python File

我更改了template.html我的文件,然后运行相同的代码。但我得到了这个结果

在此输入图像描述

正如您所看到的,周一第一时段有不止一个讲座,因此,它与两门课程重叠。<hr>现在无法正确读取此 HTML 文件中的命令。

修改后的template.html文件有这样的代码,

<!DOCTYPE html>

<html>
<header>
  <style>
  .new-page {
    page-break-before: always;
  }
.center …
Run Code Online (Sandbox Code Playgroud)

html css html-table pdfkit jinja2

5
推荐指数
1
解决办法
4511
查看次数