-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
22 changed files
with
5,283 additions
and
0 deletions.
There are no files selected for viewing
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
\begin{algorithm}[t] | ||
\caption{DAgger: Dataset Aggregation for JSP} | ||
\label{pseudo:DAgger} | ||
\begin{algorithmic}[1] | ||
\Require $T\geq1$ | ||
\Procedure{DAgger}{$\pi_\star,\Phi^\text{OPT},T$} | ||
\State $\Phi^{\text{IL}0} \gets \Phi^{\text{OPT}}$ \Comment{initialize | ||
dataset} | ||
\State $\hat{\pi}_0 \gets$ \Call{Train}{$\Phi^{\text{IL}0}$} | ||
\Comment{initial model, equivalent to \cref{sec:expertPolicy}} | ||
\For{i}{1}{T} \Comment{at each imitation learning iteration} | ||
\State Let $\pi_i = \beta_i\pi_\star + (1-\beta_i)\hat{\pi}_{i-1}$ | ||
\Comment{\cref{eq:il}} | ||
\State Sample $K$-step tracks using $\pi_i$ | ||
\Comment{cf. \Call{ActiveIL}{$i,\hat{\pi}_{i-1},\pi_\star$}} | ||
\State $\Phi^{\text{IL}i} = \{(s,\pi_\star(s))\}$ | ||
\Comment{visited states for $\pi_i$ and actions by $\pi_\star$} | ||
\State $\Phi^{\text{DA}i} \gets \Phi^{\text{DA}i-1} \cup | ||
\Phi^{\text{IL}i}$ | ||
\Comment{aggregate datasets, cf. \cref{eq:DAgger}} | ||
\State $\hat{\pi}_{i+1} \gets$ \Call{Train}{$\Phi^{\text{DA}i}$} | ||
\Comment{preference model from \cref{eq:jssp:linweights}} | ||
\EndFor | ||
\State \Return best $\hat{\pi}_i$ on validation \Comment{best | ||
preference model} | ||
\EndProcedure | ||
\end{algorithmic} | ||
\end{algorithm} |
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
\begin{algorithm}[t] | ||
\caption{Pseudo code for constructing a JSP sequence using a | ||
deterministic scheduling policy rule, $\pi$, | ||
for a fixed construction heuristic, $\Upsilon$.} | ||
\label{pseudo:constructJSP} | ||
\begin{algorithmic}[1] | ||
\Procedure{ScheduleJSP}{$\pi,\Upsilon$} | ||
\State $\vchi \gets \emptyset$ | ||
\Comment{initial current dispatching sequence} | ||
\For{k}{1}{K=n\cdot m} | ||
\Comment{at each dispatch iteration} | ||
\ForAll{$J_j\in \mathcal{L}^{(k)}\subset \mathcal{J}$} | ||
\Comment{inspect job-list} | ||
\State $\vphi^j \gets \vphi\circ\Upsilon\left(\vchi^j\right)$ | ||
\label{pseudo:constructJSP:phi} | ||
\Comment{temporal features for $J_j$} | ||
\State $I_j^{\pi} \gets \pi\left(\vphi^j\right)$ | ||
\Comment{priority for $J_j$} | ||
\EndFor | ||
\State $j^* \gets \argmax_{j\in \mathcal{L}^{(k)}}\{I_j^{\pi}\}$ | ||
\Comment{choose highest priority} | ||
\State $\chi_k \gets J_{j^*}$ | ||
\Comment{dispatch $j^*$} | ||
\EndFor | ||
\State \Return $C_{\max}^{\pi} \gets \Upsilon(\vchi)$ | ||
\Comment{makespan and final schedule} | ||
\EndProcedure | ||
\end{algorithmic} | ||
\end{algorithm} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
{\renewcommand{\arraystretch}{1.5} | ||
\begin{tabular}{lcccl}\toprule | ||
name & size ($n\times m$) & $N_{\text{train}}$ & $N_{\text{test}}$ & note\\ | ||
\midrule | ||
\jrnd{10}{10} & $10\times10$ & 300 & 200 & random \\ | ||
\jrndn{10}{10} & $10\times10$ & 300 & 200 & random-narrow \\ | ||
\frnd{10}{10} & $10\times10$ & 300 & 200 & random \\ | ||
\bottomrule | ||
\end{tabular} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
\centering | ||
\scriptsize | ||
\begin{tabular}{cll} %p{0.45\textwidth}|p{0.4\textwidth}|} | ||
\toprule | ||
$\vphi$ & Feature description & Mathematical formulation \\ | ||
%\hline \multicolumn{4}{c}{\textbf{Local features}} \\ | ||
\midrule | ||
\multicolumn{3}{c}{\textbf{job related}}\\ | ||
\phiproc & job processing time & $p_{ja}$ \\ | ||
\phistartTime & job start-time & $x_s(j,a)$ \\ | ||
\phiendTime & job end-time & $x_e(j,a)$ \\ | ||
\phiarrivalTime & job arrival time & $x_e(j,a-1)$\\ | ||
\phiwait & time job had to wait & $x_s(j,a)-x_e(j,a-1)$ \\ | ||
\phijobTotProcTime & total processing time for job & | ||
$\sum_{a\in \mathcal{M}}p_{ja}$ \\ | ||
\phijobWrm & total work remaining for job & | ||
$\sum_{a'\in\mathcal{M}\setminus \mathcal{M}_{j}}p_{ja'}$ \\ | ||
\phijobOps & number of assigned operations for job & | ||
$|\mathcal{M}_j|$ \\ | ||
\midrule | ||
\multicolumn{3}{c}{\textbf{machine related}}\\ | ||
\phimacFree & when machine is next free & | ||
$\max_{j'\in \mathcal{J}_a} \{x_e(j',a)\}$ \\ | ||
\phimacTotProcTime & total processing time for machine & | ||
$\sum_{j\in \mathcal{J}}p_{ja}$ \\ | ||
\phimacWrm & total work remaining for machine & | ||
$\sum_{j'\in\mathcal{J}\setminus \mathcal{J}_{a}}p_{j'a}$ \\ | ||
\phimacOps & number of assigned operations for machine & | ||
$|\mathcal{J}_a|$ \\ | ||
\phireducedSlack & change in idle time by assignment & | ||
$\Delta s(a,j)$ \\ | ||
\phimacSlack & total idle time for machine & | ||
$\sum_{j'\in \mathcal{J}_a}s(a,j')$ \\ | ||
\phiallSlack & total idle time for all machines & $\sum_{a'\in | ||
\mathcal{M}}\sum_{j'\in \mathcal{J}_{a'}}s(a',j')$ \\ | ||
\phimakespan & current makespan & | ||
$\max_{(j',a')\in \mathcal{J} \times \mathcal{M}_{j'}}\{x_f(j',a')\}$ \\ | ||
\bottomrule | ||
\end{tabular} |
Binary file not shown.
Oops, something went wrong.