⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fig14_3.pl

📁 超多的prolog源代码 具体内容见压缩包里面的programs.txt
💻 PL
字号:
% Figure 14.3  Scheduling with precedence constraints and no resource constraints.


% Scheduling with CLP with unlimited resources

schedule( Schedule, FinTime)  :-
  tasks( TasksDurs),
  precedence_constr( TasksDurs, Schedule, FinTime), % Construct precedence constraints
  minimize( FinTime).

precedence_constr( [], [], FinTime).

precedence_constr( [T/D | TDs], [T/Start/D | Rest], FinTime)  :-
  { Start >= 0,                                % Earliest start at 0
    Start + D =< FinTime},                     % Must finish by FinTime
  precedence_constr( TDs, Rest, FinTime),      
  prec_constr( T/Start/D, Rest).

prec_constr( _, []).

prec_constr( T/S/D, [T1/S1/D1 | Rest])  :-
  (  prec( T, T1), !, { S+D =< S1}
     ;
     prec( T1, T), !, { S1+D1 =< S}
     ;
     true ),
  prec_constr( T/S/D, Rest).

% List of tasks to be scheduled

tasks( [ t1/5, t2/7, t3/10, t4/2, t5/9]).

% Precedence constraints

prec( t1, t2).   prec( t1, t4).   prec( t2, t3).   prec( t4, t5).

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -