频道栏目
首页 > 程序开发 > Web开发 > Python > 正文
python constraint模块问题分析
2018-02-12 11:59:11      个评论    来源:tortelee的博客  
收藏   我要投稿

前言

最近了解关于constraint programming方面的问题。即一个问题,有很多限制条件,求个最优解。恩,这种描述方式是很笼统的,不妨具体到我们的问题

问题说明

前面说了问题有a set of hard constraits and soft constraits。像如下的是硬性要求:

A nurse does not work the day shift, night shift and late night shift on the same day (for obvious reasons).

A nurse may go on a holiday and will not work shifts during this time。

A nurse does not do a late night shift followed by a day shift the next day

软要求则如:

Soft constraints may include minimum and maximum numbers of shifts assigned to a given nurse in a given week, of hours worked per week, of days worked consecutively, of days off consecutively, and so on.

遗传算法解空间

我们在应用遗传算法这种启发式算法时,有一个很重要的概念群,即是解空间。相信大家在讨论编码问题时,会遇到这个相关的概念。首先,我们要明确解空间是什么范围,我们初始化时,开始的解是解空间随便的几个量;同时我们也要保证我们的一些算子得到的新的个体也是在解空间中的,不能超出解空间,不然得到结果可能在解空间外。

遗传算法的crossover

1,Single-point

\

2,Two-point

\

3,uniform and half uniform

\

评价,这个算法交叉过程并没有详细写,只是说交换“A single crossover point on both parents' organism strings is selected”,至于这个point是啥,说的很模糊。这里处理的单位应该是单个基因,此种理解生物上好解释些。那么,对应护士的排课表,就是单个时间段的课,某一节课。连续上的两节课,是两个基因片段。这样交叉就不会出现脱离解空间的情况了。

点击复制链接 与好友分享!回本站首页
上一篇:Python PyQt5 Pycharm 环境搭建及配置教程
下一篇:Python常见的错误和异常讲解
相关文章
图文推荐
点击排行

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站