X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~yarrgweb/git?a=blobdiff_plain;f=yarrg%2Fweb%2Froutetrade;h=9e9256a72529cdb83088032a16a9d5ff1fca7409;hb=5b0690cc2d23aa69180aea98397d4ad44b528559;hp=21f4711cebfe0498d72f70ec7a2e66b7b25c49b0;hpb=57664b818861ce04c4237d8f69af3bd47e815090;p=ypp-sc-tools.web-live.git diff --git a/yarrg/web/routetrade b/yarrg/web/routetrade index 21f4711..9e9256a 100644 --- a/yarrg/web/routetrade +++ b/yarrg/web/routetrade @@ -49,6 +49,7 @@ $quri my $loss_per_league= defined $routeparams->{LossPerLeaguePct} ? $routeparams->{LossPerLeaguePct}*0.01 : 1e-7; my $loss_per_delay_slot= 1e-8; +my $max_gems= 25; my $minprofit= $routeparams->{MinProfit} || 0; @@ -147,6 +148,7 @@ my $stmt= " commods.ordval ordval, commods.posinclass posinclass, commods.commodclassid commodclassid, + commods.flags flags, dist dist, buy.price - sell.price unitprofit FROM commods @@ -526,6 +528,14 @@ foreach my $ci (0..($#islandids-1)) { $applylimit->('mass', sub { $_[0]{'unitmass'} *1e-3 }); $applylimit->('volume', sub { $_[0]{'unitvolume'}*1e-3 }); $applylimit->('capital', sub { $_[0]{'org_price'} }); + + my @gem_subflows= grep { $_->{Flow}{flags} =~ m/g/ } @rel_subflows; + if (@gem_subflows) { + $cplex .= " + ". sprintf("%-10s","gems_$ci:")." ". + join(" + ", map { $_->{Var} } @gem_subflows). " <= $max_gems"; + } + $cplex.= "\n"; }