function [z,fz]=blatt101() %Weihnachtsaufgabe A=[1 1 1 0 0 0 0; -0.1 -1 -1 1 1 0 0; -1 -0.2 -0.9 1 0 1 0; -1 -0.9 -0.4 1 0 0 1]; b=[1;0;0;0]; c=[0;0;0;-1;0;0;0]; [z,fz] = naiv(A,b,c) %Blatt11Strategien %Strategie Spieler x (die ersten drei Eintraege) %A=[1 1 1 0 0 0 0 0;1 -1 -2 1 1 -1 0 0;-1 2 1 -1 1 0 1 0;2 -1 2 -1 1 0 0 1]; %b=[1;0;0;0]; %c=[0;0;0;1;-1;0;0;0]; %[z,fz]=primitiv(A,b,c) %Strategie Spieler y (die ersten drei Eintraege) %A=[1 1 1 0 0 0 0 0;-1 1 -2 1 -1 1 0 0;1 -2 1 1 -1 0 1 0;2 -1 -2 1 -1 0 0 1]; %b=[1;0;0;0]; %c=[0;0;0;-1;1;0;0;0]; %[z,fz]=primitiv(A,b,c) %Domenik %A=[1 1 1 0 0 0 0 0;-1 1 2 1 -1 1 0 0;1 -2 -1 1 -1 0 1 0;-2 1 -2 1 -1 0 0 1]; %b=[1;0;0;0]; %c=[0;0;0;-1;1;0;0;0]; %[z,fz]=primitiv(A,b,c) %A=[1 1 1 0 0 0 0 0;1 -1 2 1 -1 1 0 0;-1 2 -1 1 -1 0 1 0;-2 1 2 1 -1 0 0 1]; %b=[1;0;0;0]; %c=[0;0;0;-1;1;0;0;0]; %[z,fz]=primitiv(A,b,c) end function [z,fz]=naiv(A,b,c) m = length(b); n = length(c); X=1:1:n; l=1; %gibt am Ende Anzahl der Ecken for i=1:m %Eckenindexmenge hat maximal Kardinalitaet m B = nchoosek(X,i); %alle i-elementigen Teilmengen for j=1:size(B,1) for k=1:size(B,2) A0(:,k) = A(:,B(j,k)); %entsprechende Spaltenmatrix end Aerw=[A0,b]; if rank(A0)==size(B,2) && rank(Aerw)==rank(A0) %Test auf A0 injektiv und LGS loesbar x=A0 \ b; if all(x >= 0) y=zeros(n,1); for s=1:size(B,2) %Nullergaenzung y(B(j,s))=x(s) ; end ecken(:,l) = y; %Speichern der Ecken l=l+1; end end end end l=l-1; %Anzahl an Ecken Z=ecken; %Alle Ecken FZ=c'*ecken; %Funktionswert bei jeweiliger Ecke [m,I]=min(FZ); z=Z(:,I); fz=m; end