테크 사이클 제약 조건 매트릭스 Aa와 오른쪽 사이드 바를 구성해야합니다. 목표는 Ax < = b로 제한된 스케줄링 선형 문제를 해결하기 위해 기술주기 행렬을 구축하는 것입니다. Aa
3 "은" ""-1 "대각선"처럼,이 경우에는 -1과 +1은/이러한 시작 시간과 같은 문제의 제약 조건의 계수를 참조하여"" "대각선" ""-1/+ 1 매트릭스
TC = [1,2,3,4,6,7;1,2,5,4,6,7;2,5,6,7,0,0]; % Technology cycle
CT = [100,60,200,160,80,120;100,60,150,120,60,150;50,120,40,30,0,0]; % Cycle time
n_jb = size(TC,1); % number of jobs
n_op = sum(TC~=0,2); % number of operations for each job
N_op = sum(n_op); % total number of operations
c=1; % indice for constraints in Aa
Op=1; % counter for overall operation
n_tf = N_op - n_jb- sum(n_op==1); % number of job transfer between machines (also number of tech cycle constraint numbers)
Aa = zeros(n_tf,N_op); % Constraint matrx for tech cycle
ba = zeros(n_tf,1); % The right vector of the constraint function: Aa*x<=ba
for j=1:n_jb
if n_op(j)>1
for op=1:n_op(j)-1
Aa(c,Op)=-1;
Aa(c,Op+1)=1;
ba(c,1)=CT(j,op);
c=c+1;
Op=Op+1;
end
else
Op=Op+1;
end
Op=Op+1;
end
출력을 된 우위 +1 매트릭스 : 매트릭스 Aa
의 3 개의 부품을 도시 :
-1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 -1 1 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 -1 1 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 -1 1 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 -1 1 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 -1 1 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 -1 1 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 -1 1 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 -1 1 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 -1 1 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 -1 1 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 -1 1 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 1
위하여는 이미지가 다음의 더 정확하게한다. 제 질문은입니다 : A가 3x1이 아니지만 확실히 30-50x1이 될 것이므로 이와 같은 회피 루프를 만드는 방법이 있습니까?
메모리 효율을 높이려면 A를 MATLAB * 스파 스 * 매트릭스로 정의해야합니다. ['spdiags'] (http://uk.mathworks.com/help/matlab/ref/spdiags.html)가 도움이 될 것입니다. – Jubobs