
% Einlesen der Problemdaten
Daten_Taxiproblem;

% Darstellung des Graphen
edgeLabels = arrayfun(@(x) num2str(x,'%.1f'), c,  'UniformOutput', false);
h = Graph(A,[],[],edgeLabels);
h = Graph(A,h,[],edgeLabels,'-layout',Treelayout);
XY = [0.63 0.83; 0.90 0.83; 0.10 0.83; 0.36 0.83; 0.10 0.16; 0.50 0.16; 0.90 0.16];
h.setNodePositions(XY);

% Setzen der Optionen fuer das Optimierungsverfahren
options = optimset('Algorithm','simplex','Diagnostics','on','Display','iter');

% Aufruf des Optimierungsverfahrens
[xstar,fstar,exitflag,output,lambda] = linprog(-c,abs(A),b,[],[],l,u,[],options);

% Darstellung der Loesung
edgeColors = cell(n,3);
for j=1:n
  from = num2str(find(A(:,j) == -1));
  to = num2str(find(A(:,j) == 1));
  color = [1,0,0] * xstar(j) + [0.8,0.8,0.8] * (1-xstar(j));
  edgeColors(j,:) = {from to color};
end
h = Graph(A,h,[],edgeLabels,'-layout',Treelayout,'-edgeColors',edgeColors);
h.setNodePositions(XY);


