装配线调度问题(算法导论+动态规划)

本文探讨了汽车工厂装配线调度问题,利用算法导论中的动态规划方法求解最短装配时间。考虑两个装配线,每个线有n个站,时间各异。通过Aij表示各站装配时间,Tij表示流水线间转移时间,Tin表示出流水线时间。目标是找到最短装配路径,确保汽车依次经过所有装配站。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

某汽车工厂有2个装配线,每个装配线有n 个装配站(按顺序编号1~n ),两个装配线对应的装配站执行相同的功能,但所用的时间可能不同。经过第i条流水线(i=1,2)的第j 个装配站所花的时间为Aij。从第i条流水线的第j 个装配站移到第j+1个装配站的时间可以忽略,而移到另外一个流水线的下一个装配站则需要一定的时间Tij。
汽车进入流水线不需要花时间,出流水线时需要花时间Tin。
汽车的装配需要按顺序经过所有装配站。
现在已知装配时间Aij 和转移时间Tij,要求输出装配一辆汽车所需要的最短时间。


 

// 装配线调度问题.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include<iostream>
#define n 6
using namespace std;
int e1=2,e2=4;
int x1=3,x2=2;
int f[2][6];]//装配站的时间
int l[2][6];//装配线
int a[2][6]={
  
  {7,9,3,4,8,4},{8,5,6,4,5,7}};
int t[2][5]={
  
  {2,3,1,3,4},{2,1,2,2,1}};
int last;//最后出口
int result;//总结果
void fast_way(int a[][6],int t[][5])
{
	f[0][0]=e1+a[0][0];
	f[1][0]=e2+a[1][0];
	for(int j=1;j<n;j++)
	{
		if((f[0][j-1]+a[0][j])<=(f[1][j-1]+t[1][j-1]+a[0][j]))
		{
			f[0][j]=f[0][j-1]+a[0][j];
			l[0][j]=0;
		}
		else
		{
			f[0][j]=f[1][j-1]+t[1][j-1]+a[0][j];
			l[0][j]=1;

		}
		if((f[1][j-1]+a[1][j])<=(f[0
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值