掌桥专利:专业的专利平台
掌桥专利
首页

基于整数规划的研讨会排程方法及系统

文献发布时间:2023-06-19 11:44:10


基于整数规划的研讨会排程方法及系统

技术领域

本公开属于人员排程或排班领域,尤其涉及一种基于整数规划的研讨会排程方法及系统。

背景技术

本部分的陈述仅仅是提供了与本公开相关的背景技术信息,不必然构成在先技术。

集中日期的会议事件排程是一种常见的排程优化问题,其中较为常见的一种是研讨会及类似的排程问题。在该类问题中,组织者需要对多个由多位参与者参加的小型会议(或其他活动)进行时间上的安排。在安排的过程中需要考虑诸如每个时间段会议的数量、会议和人员之间的关系、会议对时间段的要求或其他约束。会议可能具备一定的性质例如会议议题的主题分类等。而对于该性质也会出现相关的约束条件。该类问题可以模拟生活中多种类似问题,例如包含必要参与者的大型会议、比赛、游戏活动等等。

发明人发现,一方面,对于该类问题的求解如果使用手工排程的方法需要管理人员同时考虑多种约束并尝试不同的排程。即便对于较小规模的问题也较为复杂和耗时,同时无法保证排程结果的质量。而当问题规模变得中等或较大,手工排程的方法几乎无法实现该任务,或者无法考虑其主要约束;另一方面,现有自动排程方法没有考虑会议多个主题以及参会人员可能参与多个主题研讨会的情况,导致研讨会排程结果存在一个人所参加的会议被安排到同一个时间段内的情况。

发明内容

本公开为了解决上述问题,提供了一种基于整数规划的研讨会排程方法及系统,所述方案通过整数线性规划对研讨会排程模型中的不同变量、关系和常见约束进行描述,并通过优化求解工具求得研讨会排程的最优解。

根据本公开实施例的第一个方面,提供了一种基于整数规划的研讨会排程方法,包括:

采用整数规划方法对研讨会中的会议数量、会议主题以及参会人员需求进行描述;

确定研讨会排程需满足的约束条件,并建立目标函数;

利用规划求解器对所述目标函数进行求解,获得最优的研讨会排程结果;

其中,所述约束条件包括硬性约束和软性约束,所述硬性约束包括时间段会议数量约束、会议安排约束以及会议冲突约束;所述软性约束包括会议时间段选择约束和主题数量约束。

进一步的,所述目标函数为:

其中,松弛变量y

进一步的,所述目标函数的目的是最小化松弛变量y

进一步的,所述硬性约束具体包括:

时间段会议数量约束表示为:对于某个时间段,所有主题下的所有研讨会的数量要与当前时间段规定的数量一致;

会议安排约束表示为:对于每个主题i的每个研讨会在所有的时间段内被分配的次数为一次,即每个会议必须且最多出现一次;

会议冲突约束表示为:对于任意时间段的任意一个参会者,参加的所有主题的所有会议的数量不能超过1,即不会出现在同一时间段一个参会者参加两个研讨会的情况。

进一步的,所述软性约束具体包括:

会议时间段选择约束表示为:对于某个会议是否要安排或避免安排在某个时间段的情况;

主题数量约束表示为:在某个时间段,会议所属的主题的数量限制。

根据本公开实施例的第二个方面,提供了一种基于整数规划的研讨会人员排程系统,包括:

参数定义单元,其用于采用整数规划方法对研讨会中的会议数量、会议主题以及参会人员需求进行描述;

目标函数确定单元,其用于确定研讨会排程需满足的约束条件,并建立目标函数;

最优解求取单元,其用于利用规划求解器对所述目标函数进行求解,获得最优的研讨会排程结果;

其中,所述约束条件包括硬性约束和软性约束,所述硬性约束包括时间段会议数量约束、会议安排约束以及会议冲突约束;所述软性约束包括会议时间段选择约束和主题数量约束。

根据本公开实施例的第三个方面,提供了一种电子设备,包括存储器、处理器及存储在存储器上运行的计算机程序,所述处理器执行所述程序时实现所述的一种基于整数规划的研讨会排程方法。

根据本公开实施例的第四个方面,提供了一种非暂态计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现所述的一种基于整数规划的研讨会排程方法。

与现有技术相比,本公开的有益效果是:

(1)本公开所述方案提供了一种基于整数规划的研讨会排程方法,通过整数规划对研讨会排程模型中的不同变量、关系和常见约束进行刻画,可以使用任意的规划求解器来求得最优解,从而提高了相比传统方式的排程质量和效率;同事,在该模型的基础上也可使用其他算法例如启发式或元启发式的算法对问题进行求解。

(2)本公开所述的研讨会排程模型同时考虑了会议集合、参会人、时间段、会议特性、会议数量等主要变量和参数,包含了较为常见的约束,同时考虑了研讨会具有多主题特性以及参会人员可能参与多个研讨会的情况,因此可以用于求解一大类与研讨会相关或类似的问题的排程问题。

(3)本公开所述方案具备一定的普适性和扩展性,模型中的约束作为一种一般性的描述可以进行相关的扩展。例如对于会议事件多种特性的刻画可以使用本公开提出的建模方法进行数量上扩展并建立相关约束。

本公开附加方面的优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本公开的实践了解到。

附图说明

构成本公开的一部分的说明书附图用来提供对本公开的进一步理解,本公开的示意性实施例及其说明用于解释本公开,并不构成对本公开的不当限定。

图1为本公开实施例一中所述研讨会排程方法的流程图。

具体实施方式

下面结合附图与实施例对本公开做进一步说明。

应该指出,以下详细说明都是例示性的,旨在对本公开提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本公开所属技术领域的普通技术人员通常理解的相同含义。

需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本公开的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。

在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。

实施例一:

本实施例的目的是提供一种基于整数规划的研讨会排程方法。

一种基于整数规划的研讨会排程方法,包括:

采用整数规划方法对研讨会中的会议数量、会议主题以及参会人员需求进行描述;

确定研讨会排程需满足的约束条件,并建立目标函数;

利用规划求解器对所述目标函数进行求解,获得最优的研讨会排程结果;

其中,所述约束条件包括硬性约束和软性约束,所述硬性约束包括时间段会议数量约束、会议安排约束以及会议冲突约束;所述软性约束包括会议时间段选择约束和主题数量约束。

具体的,为了便于理解,结合附图1,通过以下方面对本公开所述方案进行详细说明:

(1)相关参数的读取和辅助变量的初始化;

(2)建立主要变量并根据需求建立相关的约束不等式;

(3)建立目标函数并保存或求解模型。

为了便于描述,首先对本公开针对的研讨会模型进行简要的说明。假设有多个研讨会,集合为E(e∈E)。假设每个研讨会属于一个主题,使用I(i∈I)来表示主题集合。对于某个主题,使用S

使用n

对于有的参会人员可能会参与多个研讨会,因此这些研讨会不能安排到同一时间,为了刻画该约束需要对参加多个研讨会的人员进行集合描述。使用集合P(p∈P)来表示参加多个研讨会的参会人员。

对于研讨会集合E(e∈E)做进一步说明。由于每个研讨会一定属于某个主题,而每个主题又使用了S

求解模型的目的就是为了得到在所有的时间段安排了哪些会议并同时满足一定约束,具体的:

(1)相关参数的读取和辅助变量的初始化

模型的主要参数均可以通过一般方式进行直接读取或设定。其中对于某个主题i的S

为了实现会议到i和j的映射,可做如下转换。假设给出了所有会议所属的主题类别,则可以通过对所有会议进行循环,在循环中对相应的主题类别下记录会议的标识并计数从而完成。假设会议1是主题2的第3个会议,则会议1可以使用<2,3>来进行标识。

为了建立参会人相关的约束,定义参数如下:

a

对于该参数的初始化可以通过对所有参会人的集合进行循环遍历并将其参与的会议标识进行记录,通过前面的转换即可得到某个参会人与i和j的关系,即上述参数的实际值。

其他变量在后面描述的过程中会提及。

(2)建立主要变量并根据需求建立相关的约束不等式

模型的主要决策变量定义如下。

x

模型的约束主要分为硬性和软性约束。其中硬性约束不能有任何的违反,而软性约束则需要尽可能的满足。模型包含的主要约束如下。

硬性约束1:时间段会议数量约束.该约束的含义为,对于某个时间段,所有主题下的所有研讨会的数量要与当前时间段规定的数量一致。例如,假设在八点到九点时间段内计划安排两场会议,则n

硬性约束2:会议安排约束。该约束的含义为对于每个主题的每个研讨会在所有的时间段内被分配的次数为一次,即每个会议必须且最多出现一次。不等式定义如下。

硬性约束3:会议冲突约束。该约束的含义为,对于任意时间段的任意一个参会者,参加的所有主题的所有会议的数量不能超过1,即不会出现在同一时间段一个参会者要参加两个研讨会的情况。

基于参数a

软性约束1:会议时间段选择约束。为了模拟对于某个会议是否要安排(或避免安排)在某个时间段的,可以使用硬性或者软硬约束来刻画。在本实现中使用了软性约束作为示意,对于硬性约束可以将松弛变量去掉只保留主要变量。例如,假设主题i'的j'不能分配在t'时间段,则不等式定义如下。

x

其中,松弛变量y

软性约束2:主题数量约束。该约束用来刻画在某个时间段,会议所属的主题的数量。例如在某个时间段希望所有的会议至少涵盖两个主题。则约束如下:

其中,辅助变量z

该不等式表示在某个时间段,所有主题数量总和不能低于l

(3)建立目标函数并保存或求解模型

模型的目标函数定义如下:

该函数的目的是将松弛变量y

以下通过具体实验对本公开所述方案进行详细说明:

为了验证模型的正确性和有效性,给出一个具体的研讨会排程的模型和求解结果。假设一共有3个时间段;研讨会的数量为10;主题有4个,使用0到3进行标号;主题0的会议有2个,主题1的有3个,主题2的有2个,主题3的有3个。使用<0,0>,<0,1>,…,<3,1>,<3,2>来标识所有的10个会议。

时间段1、2和3的会议场数分别为4、4和2(即参数的值)。对于每个时间段,主题的数量不能少于2个。其他约束还包含了随机选定的三场会议避免在某个时间段举行,采用的是软性约束的方式。

参与人一共20个。这里使用p:的形式进行表达。例如1:<0,1>表示参与人1需要参加会议<0,1>。每个人所参加的会议数据如下。

0:<0,0>,0:<0,1>;1:<0,0>,1:<1,0>;2:<2,1>,2:<3,2>,2:<0,0>;

3:<2,1>,3:<2,0>;4:<0,1>,4:<0,0>;5:<3,2>,5:<3,0>;

6:<1,1>,6:<1,2>;7:<0,1>,7:<1,1>;8:<1,1>,8:<1,0>;

9:<2,0>,9:<2,1>;10:<1,0>,10:<2,1>;11:<0,1>,11:<0,0>;

12:<1,0>,12:<1,2>,12:<0,0>;13:<0,1>,13:<0,0>;

14:<1,1>,14:<2,0>;15:<1,2>,15:<1,1>;

16:<1,1>,16:<1,2>;17:<0,1>,17:<1,1>;

18:<3,1>,18:<3,2>;19:<3,0>,19:<3,2>。

在本实施例所述实验中使用Cplex12.7求解器进行求解。结果的最优值为1,结果如下所示:

时间段1:<1,2><2,1><3,0><3,1> 4场

时间段2:<0,1><1,0><2,0><3,2> 4场

时间段3:<0,0><1,1> 2场

除了每个时间段的会议数量已经满足,容易验证,在上述最优解中,任何一个人所参加的会议都没有被安排到同一个时间段内。同时容易看出,每天的主题种类的数量都大于1。

实施例二:

本实施例的目的是提供一种基于整数规划的研讨会排程系统。

一种基于整数规划的研讨会排程系统,包括:

参数定义单元,其用于采用整数规划方法对研讨会中的会议数量、会议主题以及参会人员需求进行描述;

目标函数确定单元,其用于确定研讨会排程需满足的约束条件,并建立目标函数;

最优解求取单元,其用于利用规划求解器对所述目标函数进行求解,获得最优的研讨会排程结果;

其中,所述约束条件包括硬性约束和软性约束,所述硬性约束包括时间段会议数量约束、会议安排约束以及会议冲突约束;所述软性约束包括会议时间段选择约束和主题数量约束。

进一步的,所述约束条件中的硬性约束具体包括:

时间段会议数量约束表示为:对于某个时间段,所有主题下的所有研讨会的数量要与当前时间段规定的数量一致;

会议安排约束表示为:对于每个主题i的每个研讨会在所有的时间段内被分配的次数为一次,即每个会议必须且最多出现一次;

会议冲突约束表示为:对于任意时间段的任意一个参会者,参加的所有主题的所有会议的数量不能超过1,即不会出现在同一时间段一个参会者参加两个研讨会的情况。

进一步的,所述约束条件中的软性约束具体包括:

会议时间段选择约束表示为:对于某个会议是否要安排或避免安排在某个时间段的情况;

主题数量约束表示为:在某个时间段,会议所属的主题的数量限制。

在更多实施例中,还提供:

一种电子设备,包括存储器和处理器以及存储在存储器上并在处理器上运行的计算机指令,所述计算机指令被处理器运行时,完成实施例一中所述的方法。为了简洁,在此不再赘述。

应理解,本实施例中,处理器可以是中央处理单元CPU,处理器还可以是其他通用处理器、数字信号处理器DSP、专用集成电路ASIC,现成可编程门阵列FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

存储器可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据、存储器的一部分还可以包括非易失性随机存储器。例如,存储器还可以存储设备类型的信息。

一种计算机可读存储介质,用于存储计算机指令,所述计算机指令被处理器执行时,完成实施例一中所述的方法。

实施例一中的方法可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器、闪存、只读存储器、可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。

本领域普通技术人员可以意识到,结合本实施例描述的各示例的单元即算法步骤,能够以电子硬件或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

上述实施例提供的一种基于整数规划的研讨会排程方法及系统可以实现,具有广阔的应用前景。

以上所述仅为本公开的优选实施例而已,并不用于限制本公开,对于本领域的技术人员来说,本公开可以有各种更改和变化。凡在本公开的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。

上述虽然结合附图对本公开的具体实施方式进行了描述,但并非对本公开保护范围的限制,所属领域技术人员应该明白,在本公开的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本公开的保护范围以内。

相关技术
  • 基于整数规划的研讨会排程方法及系统
  • 基于遗传算法的电能计量装置配送排程方法及排程系统
技术分类

06120113033519