C 非單位時間任務安排問題

2021-10-10 21:58:58 字數 1044 閱讀 9104

問題描述

具有截止時間和誤時懲罰的任務安排問題可描述如下。

(1) 給定 n 個任務的集合 s=;

(2) 完成任務i需要ti 時間,1≤i≤n;

(3) 任務 i 的截止時間 di ,1≤i≤n,即要求任務 i 在時間 di 之前結束;

(4) 任務 i 的誤時懲罰 wi ,1≤i≤n,即任務 i 未在時間di 之前結束將招致 wi 的懲罰;

若按時完成則無懲罰。

任務安排問題要求確定 s 的乙個時間表(最優時間表)使得總誤時懲罰達到最小。

對於給定的 n 個任務,程式設計計算總誤時懲罰最小的最優時間表。

資料輸入:

第 1 行是 1 個正整數 n,表示任務數。接下來的 n 行中,每行有 3 個正整數 a,b,c,表示完成相應任務需要時間 a,截止時間為 b,誤時懲罰為 c。

#include

#include

#include

#include

using

namespace std;

struct task

;task

(int n,

int d,

int p)

:needtime

(n),

deadline

(d),

punishment

(p);};

class

main

sort

(tsk.

begin()

, tsk.

end(),

(task a, task b));

d = tsk[n -1]

.deadline;

f.resize

(n);

for(

int i =

0; i < n; i++)}

void

dynamic()

} cout << f[n -1]

[d];}}

;int

main()

心法之非單位時間任務安排問題描述

問題描述 具有截止時間和誤時懲罰的任務安排問題可描述如下。1 給定n個人物的集合s 2 完成任務i需要ti時間,1 i n 3 任務i的截止時間為di,1 i n,既要求任務i在時間di之前結束 4 任務i的誤時懲罰為wi,1 i n,即任務i未在時間di之前結束將招致wi的懲罰 若按時完成,則無懲...

任務安排問題

問題描述 活動的定義 輸入 s f n i 1 輸出 s的最大相容集合 演算法描述 1.確定貪心思想 為了可以使得更多的相容活動被包含,每次選fi最小的活動,使得我們能夠選擇更多的活動。2.分析貪心選擇性 引理1 設 s 是n個活動的集合,s,fi 是活動i的起始終止時間,且f1 f2 fn,那麼,...

任務安排問題 貪心

今天ckp打算去約會。大家都知道ckp是超級大帥哥,所以和他約會的mm也超級多,她們每個人都和ckp訂了乙個約會時間。但是今天ckp剛打算出門的時候才發現,某幾個mm的約會時間有衝突。由於ckp不會分身,還不能和多個mm同時約會,他只能忍痛割愛拒絕掉某些mm。但是ckp這個花心大蘿蔔還是不死心,他想...