$qa
$routeparams
$reset_suppressions
+$quri
</%args>
<& query_age:pageload &>
my $loss_per_league= defined $routeparams->{LossPerLeaguePct}
? $routeparams->{LossPerLeaguePct}*0.01 : 1e-7;
my $loss_per_delay_slot= 1e-8;
+my $max_gems= 24;
my $minprofit= $routeparams->{MinProfit} || 0;
commods.ordval ordval,
commods.posinclass posinclass,
commods.commodclassid commodclassid,
+ commods.flags flags,
dist dist,
buy.price - sell.price unitprofit
FROM commods
return join '_', map { $f->{$_} } qw(org_id dst_id commodid);
};
+my $any_previous_suppression= 0;
+
foreach my $f (@flows) {
$f->{MaxQty}= $f->{'org_qty_agg'} < $f->{'dst_qty_agg'}
}
} else {
if (!defined $qa->{"T$f->{UidShort}"}) {
+ $any_previous_suppression= 1;
$f->{Suppress}= 1;
}
}
}
</%perl>
-% my $optimise= $specific;
-% if (!$optimise) {
+% my $optimise= 1;
-<p>
% if (!$specific) {
+% $optimise= 0;
Route contains archipelago(es), not just specific islands.
+% } elsif (!@subflows) {
+% $optimise= 0;
+% if ($any_previous_suppression) {
+All available trades deselected.
+% } else {
+No available trades meet the specified minimum trade value, so
+all available trades deselected.
+% }
% }
+
+% if (!$optimise) {
+
+<p>
Therefore, optimal voyage trade plan not calculated.
% } else { # ========== OPTMISATION ==========
$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";
}
orgArbitrage => 0,
dstArbitrage => 0,
} unless $$todo;
+ $$todo->{'commodid'}= $f->{'commodid'};
$$todo->{'commodname'}= $f->{'commodname'};
$$todo->{'posinclass'}= '';
my $incl= $f->{'posinclass'};
% $total += $t->{Total};
% my $span= 0 + keys %{ $t->{Stalls} };
% my $td= "td rowspan=$span";
+% my %linkqf= (%{ $qa->{'baseqf'} }, %{ $qa->{'queryqf'} });
+% $linkqf{'query'}= 'commod';
+% $linkqf{'commodstring'}= $t->{'commodname'};
+% $linkqf{'commodid'}= $t->{'commodid'};
% tr_datarow($m,$dline);
<<% $td %>><% $collectdeliver %>
-<<% $td %>><% $t->{'commodname'} |h %>
+<<% $td %>><a href="<% $quri->(%linkqf) %>"><% $t->{'commodname'} |h %></a>
<<% $td %>><% $t->{'posinclass'} %>
%
% my @stalls= sort keys %{ $t->{Stalls} };