TITLE heterogenni_park OPTIONS ExcelWorkBook="DP_aplikace.xlsm"; INDEX i:=ExcelRange("Vzdalenosti!místa"); j:=i; k:= ExcelRange("Info!vozidla"); DATA p[k] := ExcelRange("Info!pk"); d[k] := ExcelRange("Info!d_k"); v[k] := ExcelRange("Info!vk"); v_max := ExcelRange("Info!v_max"); SPARSE DATA c[i,j] := ExcelRange("Vzdalenosti!vzdalenost"); q[j] := ExcelRange("Vzdalenosti!pozadavek"); BINARY VARIABLES x[k,i,j] export to ExcelRange ("Vysledna matice!vysledek_HP"); integer variables u[i] export to ExcelRange ("Vysledna matice!poradi_HP"); model min celkove_naklady export to ExcelRange("Vysledek!total") = sum(k,i,j: c[i,j]*x[k,i,j]); subject to omezeni1[i>=2]: sum(k,j:x[k,i,j]) = 1; omezeni[j,k]: sum(i:x[k,i,j]) = sum(i:x[k,i:=j,j:=i]); omezeni5[k]: sum(j>=2:x[k,i:=1,j]) <=p[k]; tucker[i,j>=2,k]: u[i] + q[j] - v_max*(1-x[k,i,j]) <= u[i:=j]; omezeni3[i]: sum(j,k:x[k,i,j]*v[k]) >= u[i]; omezeni4: u[1] = 0; end