%Alexander Schmitt
%Andrej Hildebrand

%Wenn man den Startwert start =[12 12 12 12 12] nimmt und die Funktion m
%mit m(start) aufruft, bekommt man die Lösungen:
%x_min = 10.2615 16.4767 7.3694 5.9124 7.1574 und y_min = 59.6657
%Weitere Startwerte sind auch möglich solange sie sich lokal zu x_min
%befinden!

function m(x_0)

function y=g(x)
y=norm([(x(1)-2) 10])+norm([(x(2)-x(1)) (x(2)-24)])+norm([(x(3)-x(2)) (24-x(2))])+norm([-x(3) (x(4)-12)])+norm([x(5) -x(4)])+norm([(12-x(5)) 4]);
end

A=[-1 0 0 0 0; 1 0 0 0 0;-1 0 0 0 0; 1 0 0 0 0;-1 0 0 0 0; 1 0 0 0 0;-1 0 0 0 0; 1 0 0 0 0;-1 0 0 0 0; 1 0 0 0 0];

b=[0;24;12;24;0;24;0;12;0;12];

lb=[0; 12; 0; 0; 0];
ub=[24; 24; 24; 12; 12];

[x_min,y_min] = fmincon(@g,x_0,[],[], [], [], lb, ub)
end
