1、把人员分成 20组
2、5个实验台
1 实验台需要2小时
2 实验台需要 3小时
3 实验台需要 4小时
4 实验台需要 1小时
5 实验台需要 5小时
3、每个实验台 每个小组必须都做一遍。
4、一天做不完,可以推到第二天,第二天完不成可以再推 等等
5、第一小组占用实验台 ,第二小组可以选择别的实验台,第三小组等等类推
6、假设 2017-11-1日开始
假如上午8点开始 12点结束
假如下午13点开始 18点结束
结果模拟
第一小组 第一天 第一小组第二天
1实验台 8点-10点 3实验台
4实验台 10点-11点 4实验台
5实验台 13点-18点
第二小组 第二小组第二天
2实验台 8-11 1实验
4实验台 11-12 5实验
3实验台 13-17
我实现了分配,但是存在问题,不能达到最优分配
代码如下,
class Demo extends Basic
{
public $days = array();
public $content = array();
public $run_date = '2017-10-01 08:00';
public $run_date_n = '2017-10-01 13:00';
public $run_group = 1;
public $run_room = array();
public $run_content = array();
public $run_noon_m = '240';
public $run_after_noon_m = '300';
public $run_ext_content = null;
function __construct()
{
parent::__construct();
}
function combination()
{
$this->content = array(
24 => '180',
25 => '120',
26 => '240',