14 unstable releases (3 breaking)
0.4.5 | Dec 31, 2023 |
---|---|
0.4.4 | Dec 31, 2023 |
0.3.4 | Nov 25, 2023 |
0.3.0 | Oct 20, 2023 |
0.1.0 | Jul 10, 2023 |
#1795 in Command line utilities
460KB
977 lines
A Constellation, Planet, and Resource harvesting problem
The only resources available in a constellation are found on planets. The decision about how many array's should be placed per resource is to made based on constellation and manufacturing requirements considerations. The crate has static data for the resource output per hour, planet, and constellation. The requirments are exported from the game and read from the clipboard.
The list includes the quantity and up-to-date estimated valuation. The valuation is used to determine the per-unit value when solving the system of linear inequalities for maximum total value.
System of Linear Inequalities
To solve the optimization problem, you need to have exported a list of requirements which inclues the valuation. The create_outpost
function will allow you to configure anchored capsuleer outposts. Then simply pass those to the solve_for_constellation
function with the number of days between fuels. For example:
use material_lp::{create_outpost, solve_for_constellation};
let outposts = vec![
create_outpost("Outpost1", "Tanoo", "Aaron"),
create_outpost("Outpost2", "Tanoo", "Benjamin"),
create_outpost("Outpost3", "Tanoo", "Caroline"),
create_outpost("Outpost4", "Futzchag", "David"),
create_outpost("Outpost5", "Futzchag", "Emily"),
create_outpost("Outpost6", "Futzchag", "Fiona"),
];
let materials = parse_decomposed_list("ID Names Quantity Valuation
1 Silicate Glass 1 1011.34
2 Smartfab Units 1 418.3
3 Liquid Ozone 1 166.13
4 Reactive Gas 1 195.65
5 Noble Gas 1 363.2
6 Industrial Fibers 1 1199.78
7 Supertensile Plastics 1 512.55
8 Polyaramids 1 102.93
9 Coolant 1 607.45
10 Condensates 1 346.7
11 Construction Blocks 1 381.78
12 Nanites 1 1448.58
").unwrap();
let results = solve_for_constellation(outposts, materials, 7.);
Dependencies
~4–17MB
~245K SLoC