@islandids
@archipelagoes
$qa
-$max_mass
-$max_volume
-$lossperleaguepct
-$max_capital
+$routeparams
</%args>
<&| script &>
da_pageload= Date.now();
<%perl>
-my $loss_per_league= defined $lossperleaguepct ? $lossperleaguepct*0.01 : 1e-7;
+my $loss_per_league= defined $routeparams->{LossPerLeaguePct}
+ ? $routeparams->{LossPerLeaguePct}*0.01 : 1e-7;
my $loss_per_delay_slot= 1e-8;
my $now= time;
my @flow_conds;
my @query_params;
my %dists;
+my $expected_total_profit;
my $sd_condition= sub {
my ($bs, $ix) = @_;
}
my $applylimit= sub {
- my ($mv, $max, $f2val) = @_;
+ my ($mv, $f2val) = @_;
+ my $max= $routeparams->{"Max".ucfirst $mv};
$max= 1e9 unless defined $max;
#print " DEFINED MAX $mv $max ";
$cplex .= "
" <= $max";
};
- $applylimit->('mass', $max_mass, sub { $_[0]{'unitmass'} *1e-3 });
- $applylimit->('volume', $max_volume, sub { $_[0]{'unitvolume'}*1e-3 });
- $applylimit->('capital',$max_capital,sub { $_[0]{'org_price'} });
+ $applylimit->('mass', sub { $_[0]{'unitmass'} *1e-3 });
+ $applylimit->('volume', sub { $_[0]{'unitvolume'}*1e-3 });
+ $applylimit->('capital', sub { $_[0]{'org_price'} });
$cplex.= "\n";
}
$found_section= 1;
next;
}
+ if (m/^Objective:\s+totalprofit = (\d+\.\d*) /) {
+ $expected_total_profit= $1;
+ }
next unless $found_section==1;
if (!length $continuation) {
next if !$continuation && m/^[- ]+$/;
$totals .= sprintf "%g %s", ($max-$got), $units;
$delim= ', ';
};
- $domv->($max_mass, $sail_total[$i]{mass}, 'kg');
- $domv->($max_volume, $sail_total[$i]{volume}, 'l');
+ $domv->($routeparams->{MaxMass}, $sail_total[$i]{mass}, 'kg');
+ $domv->($routeparams->{MaxVolume}, $sail_total[$i]{volume}, 'l');
$totals .= ".\n";
}
$show_total_now->($totals);
%></strong>
</table>
<& query_age:dataages, id2age => \%da_ages &>
+Expected average profit:
+ approx. <strong><% sprintf "%d", $expected_total_profit %></strong> poe
+ (considering expected losses, but ignoring rum consumed)
%
% } # ========== TRADING PLAN ==========