-
Notifications
You must be signed in to change notification settings - Fork 0
/
manuelle_allocation_eingabe.m
55 lines (44 loc) · 1.75 KB
/
manuelle_allocation_eingabe.m
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
function [Population,geneM,geneR,permutation] = manuelle_allocation_eingabe(Population,n)
%% Zuorndung auf Ressourcen
% Mensch
str = inputdlg('Sollen Operationen dem Mensch fest zuordnet werden? (j/n)', 'Zuordnungsgen');
if str{1,1}(1,1) == 'j'
prompt = {'Feste Operationen (Leerzeichen als Trennung)'};
title = 'Feste Zuordnung für den Menschen';
dims = [1 35];
answer = inputdlg(prompt,title,dims);
geneM(1,:) = str2num(regexprep(answer{1,1}, '\D+', ' '));
else
geneM = zeros(2,1); % Wenn nicht, dann Nullvektor erstellen
end
% Roboter
str = inputdlg('Sollen Operationen dem Roboter fest zuordnet werden? (j/n)', 'Zuordnungsgen');
if str{1,1}(1,1) == 'j'
prompt = {'Feste Operationen (Leerzeichen als Trennung)'};
title = 'Feste Zuordnung für den Roboter';
dims = [1 35];
answer = inputdlg(prompt,title,dims);
geneR(1,:) = str2num(regexprep(answer{1,1}, '\D+', ' '));
else
geneR = zeros(1,1); % Wenn nicht, dann Nullvektor erstellen
end
%% Zuordnung auf Sequenz
str = inputdlg('Sollen einer Operation eine feste Permutation festzugeordnet werden? (j/n)', 'Sequenzgenom');
index = 0;
permutation = zeros(2,n);
while str{1,1}(1,1) ~= 'n'
prompt = {'Nummer der Operation','Feste Permutation'};
title = 'Feste Zuordnung von Operationen';
dims = [1 35;1 35];
answer = inputdlg(prompt,title,dims);
index = index + 1;
permutation(1,index) = str2double(answer{1,1}(1,1));
permutation(2,index) = str2double(answer{2,1}(1,1));
str = inputdlg('Sollen einer weiteren Operation eine feste Permutation festzugeordnet werden? (j/n)', 'Sequenzgenom');
end
[~,s] = find(permutation(1,:) == 0);
if s(1,1) ~= 1
permutation(:,s(1,1):end) = [];
elseif s(1,1) == 1
permutation(:,2:end) = [];
end