動態規劃 裝配線排程問題

2021-06-12 21:04:16 字數 1288 閱讀 5316

這個問題是在演算法導論的動態規劃章節有提到,由於問題敘述起來太繁雜就直接省略。

命名規則與書上的偽**是一致的,只是用c++具體語言實現了而已。

//動態規劃問題——裝配線排程問題

#pragma once

class asl

;

#include "alspro.h"

#include #include using namespace std;

asl::asl()

for (int idx = 0; idx < stationnum; idx++)

arr2 = new int[stationnum];

if (arr2 == null)

for (int idx = 0; idx < stationnum; idx++)

t1 = new int[stationnum-1];

if (t1 == null)

for (int idx = 0; idx < stationnum-1; idx++)

t2 = new int[stationnum-1];

if (t2 == null)

for (int idx = 0; idx < stationnum-1; idx++)

in.close(); //關閉檔案

l1 = new int[stationnum];

if (l1 == null)

l2 = new int[stationnum];

if (l2 == null)

f1 = new int[stationnum];

if (f1 == null)

f2 = new int[stationnum];

if (f2 == null) }

asl::~asl()

void asl::prorun()

else

if ((f2[idx-1] + arr2[idx]) <= (f1[idx-1] + t1[idx-1] + arr2[idx]))

else

}if ((f1[stationnum-1] + x1) <= (f2[stationnum-1] + x2))

else }

void asl::printresult()

else

cout<<"line "<#include "alspro.h"

using namespace std;

void main()

動態規劃 裝配線排程問題

具體題目詳見 演算法導論 第15章 動態規劃 利用動態規劃解決裝配線排程問題 配置檔案名稱是 stationinfo.txt 第一行為進入兩條線各花費的時間 第二行為離開兩條線個花費的時間 接下來六行為第一條線每個站點停留時間 每個站點到本線下一站點時間 每個站點到另一條線下乙個站點時間 最後六行為...

裝配線問題 動態規劃

裝配線問題 public class forth,通過裝配線上每個站所需時間 int b newint 一條裝配線上的 i 站到另一條裝配線上的 i 1 站所需的時間 int g newint 開始進入裝配線所需的時間 int e newint 出裝配線所需的時間 int dp newint 2 6...

演算法分析 動態規劃 裝配線排程

前言 動態規劃的概念 動態規劃 dynamic programming 是通過組合子問題的解而解決整個問題的。分治演算法是指將問題劃分為一些獨立的子問題,遞迴的求解各個問題,然後合併子問題的解而得到原問題的解。例如歸併排序,快速排序都是採用分治演算法思想。本書在第二章介紹歸併排序時,詳細介紹了分治演...