Skip to content

Commit

Permalink
Improvements from Foxtran: 45, 12, 21
Browse files Browse the repository at this point in the history
  • Loading branch information
gsomix committed Jul 9, 2023
1 parent da36233 commit cc440c5
Show file tree
Hide file tree
Showing 14 changed files with 11 additions and 226 deletions.
6 changes: 3 additions & 3 deletions Icfpc2023/Converter.fs
Original file line number Diff line number Diff line change
Expand Up @@ -49,13 +49,13 @@ let ToIni (problem: Problem) (solution: Solution option): string =

let FromNewIni(text: string): Solution =
let lines = text.Split('\n') |> Seq.map(fun t -> t.Trim()) |> Seq.filter(fun t -> t <> "") |> Seq.toArray
let header = lines[0].Trim()
let header = lines[2].Trim()
if header <> "[musicians]" then failwith $"Expected [musicians] but got {header}."
let musiciansCount = int (lines[1].Trim())
let musiciansCount = int (lines[3].Trim())

let placements = Array.zeroCreate musiciansCount
for i in 1..musiciansCount do
let line = lines[i + 1].Trim()
let line = lines[i + 3].Trim()
let components = line.Split(' ', 3, StringSplitOptions.RemoveEmptyEntries)
let [| xs; ys; _is |] = components
let point = PointD(double xs, double ys)
Expand Down
36 changes: 0 additions & 36 deletions examples/12.ini.new

This file was deleted.

133 changes: 0 additions & 133 deletions examples/21.ini.new

This file was deleted.

9 changes: 0 additions & 9 deletions examples/42.ini.new

This file was deleted.

14 changes: 0 additions & 14 deletions examples/45.ini.new

This file was deleted.

23 changes: 0 additions & 23 deletions examples/49.ini.new

This file was deleted.

2 changes: 1 addition & 1 deletion solutions/12.json
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"placements":[{"x":757.0,"y":88.0},{"x":762.0,"y":148.0},{"x":767.0,"y":78.0},{"x":772.0,"y":88.0},{"x":757.0,"y":228.0},{"x":757.0,"y":78.0},{"x":777.0,"y":252.0},{"x":757.0,"y":98.0},{"x":817.0,"y":78.0},{"x":852.0,"y":78.0},{"x":782.0,"y":233.0},{"x":762.0,"y":238.0},{"x":762.0,"y":218.0},{"x":887.0,"y":78.0},{"x":757.0,"y":178.0},{"x":757.0,"y":198.0},{"x":797.0,"y":78.0},{"x":782.0,"y":78.0},{"x":877.0,"y":78.0},{"x":762.0,"y":138.0},{"x":762.0,"y":128.0},{"x":867.0,"y":78.0},{"x":757.0,"y":118.0},{"x":762.0,"y":108.0},{"x":762.0,"y":188.0},{"x":762.0,"y":168.0},{"x":757.0,"y":252.0},{"x":762.0,"y":158.0},{"x":942.0,"y":252.0},{"x":802.0,"y":252.0},{"x":757.15380859375,"y":208.9375748038292},{"x":830.7500014901161,"y":78.00000003723471}],"volumes":[10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0]}
{"placements":[{"x":797.0,"y":148.0},{"x":807.0,"y":148.0},{"x":807.0,"y":188.0},{"x":817.0,"y":148.0},{"x":757.0,"y":252.0},{"x":757.0,"y":242.0},{"x":767.0,"y":252.0},{"x":757.0,"y":228.0},{"x":757.0,"y":198.0},{"x":757.0,"y":218.0},{"x":757.0,"y":78.0},{"x":817.0,"y":188.0},{"x":817.0,"y":238.0},{"x":757.0,"y":188.0},{"x":757.0,"y":208.0},{"x":867.0,"y":78.0},{"x":877.0,"y":78.0},{"x":767.0,"y":242.0},{"x":777.0,"y":78.0},{"x":827.0,"y":148.0},{"x":827.0,"y":188.0},{"x":787.0,"y":78.0},{"x":827.0,"y":238.0},{"x":837.0,"y":148.0},{"x":837.0,"y":188.0},{"x":837.0,"y":238.0},{"x":757.0,"y":178.0},{"x":847.0,"y":148.0},{"x":767.0,"y":78.0},{"x":857.0,"y":78.0},{"x":777.0,"y":248.0},{"x":797.0,"y":78.0}],"volumes":[10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0]}
2 changes: 1 addition & 1 deletion solutions/12.meta.json
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"score":8853664240.0,"solver":"derfree"}
{"score":9180213570.0,"solver":"vulpes"}
2 changes: 1 addition & 1 deletion solutions/21.json
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"placements":[{"x":50.0,"y":10.0},{"x":20.0,"y":520.0},{"x":40.0,"y":70.0},{"x":120.0,"y":160.0},{"x":10.0,"y":190.0},{"x":70.0,"y":20.0},{"x":60.0,"y":330.0},{"x":90.0,"y":200.0},{"x":140.0,"y":120.0},{"x":270.0,"y":530.0},{"x":200.0,"y":510.0},{"x":240.0,"y":510.0},{"x":280.0,"y":490.0},{"x":30.0,"y":30.0},{"x":10.0,"y":180.0},{"x":40.0,"y":500.0},{"x":230.0,"y":500.0},{"x":10.0,"y":110.0},{"x":90.0,"y":460.0},{"x":10.0,"y":490.0},{"x":10.0,"y":30.0},{"x":60.0,"y":20.0},{"x":260.0,"y":500.0},{"x":250.0,"y":480.0},{"x":290.0,"y":500.0},{"x":60.0,"y":250.0},{"x":170.0,"y":280.0},{"x":30.0,"y":20.0},{"x":70.0,"y":50.0},{"x":150.0,"y":510.0},{"x":130.0,"y":90.0},{"x":20.0,"y":20.0},{"x":100.0,"y":30.0},{"x":210.0,"y":470.0},{"x":100.0,"y":20.0},{"x":100.0,"y":50.0},{"x":10.0,"y":130.0},{"x":40.0,"y":270.0},{"x":20.0,"y":240.0},{"x":100.0,"y":70.0},{"x":10.0,"y":140.0},{"x":20.0,"y":30.0},{"x":240.0,"y":480.0},{"x":190.0,"y":450.0},{"x":140.0,"y":10.0},{"x":20.0,"y":170.0},{"x":80.0,"y":30.0},{"x":40.0,"y":20.0},{"x":70.0,"y":90.0},{"x":250.0,"y":10.0},{"x":240.0,"y":530.0},{"x":170.0,"y":470.0},{"x":110.0,"y":30.0},{"x":10.0,"y":10.0},{"x":240.0,"y":20.0},{"x":230.0,"y":520.0},{"x":30.0,"y":40.0},{"x":210.0,"y":510.0},{"x":170.0,"y":530.0},{"x":60.0,"y":60.0},{"x":30.0,"y":80.0},{"x":10.0,"y":20.0},{"x":250.0,"y":20.0},{"x":10.0,"y":280.0},{"x":100.0,"y":170.0},{"x":280.0,"y":520.0},{"x":210.0,"y":500.0},{"x":200.0,"y":520.0},{"x":190.0,"y":530.0},{"x":50.0,"y":80.0},{"x":60.0,"y":270.0},{"x":240.0,"y":490.0},{"x":40.0,"y":350.0},{"x":140.0,"y":300.0},{"x":290.0,"y":450.0},{"x":220.0,"y":530.0},{"x":220.0,"y":500.0},{"x":60.0,"y":30.0},{"x":80.0,"y":50.0},{"x":230.0,"y":490.0},{"x":30.0,"y":10.0},{"x":90.0,"y":10.0},{"x":20.0,"y":100.0},{"x":40.0,"y":110.0},{"x":20.0,"y":280.0},{"x":40.0,"y":40.0},{"x":70.0,"y":350.0},{"x":30.0,"y":50.0},{"x":140.0,"y":520.0},{"x":110.0,"y":140.0},{"x":30.0,"y":220.0},{"x":140.0,"y":490.0},{"x":10.0,"y":40.0},{"x":30.0,"y":350.0},{"x":60.0,"y":220.0},{"x":180.0,"y":530.0},{"x":50.0,"y":490.0},{"x":20.0,"y":10.0},{"x":40.0,"y":10.0},{"x":70.0,"y":70.0},{"x":10.0,"y":120.0},{"x":190.0,"y":510.0},{"x":210.0,"y":530.0},{"x":120.0,"y":120.0},{"x":30.0,"y":320.0},{"x":10.0,"y":270.0},{"x":20.0,"y":250.0},{"x":270.0,"y":490.0},{"x":50.0,"y":50.0},{"x":20.0,"y":70.0},{"x":250.0,"y":510.0},{"x":10.0,"y":250.0},{"x":100.0,"y":520.0},{"x":20.0,"y":300.0},{"x":30.0,"y":510.0},{"x":140.0,"y":530.0},{"x":220.0,"y":40.0},{"x":10.0,"y":80.0},{"x":10.0,"y":60.0},{"x":40.0,"y":370.0},{"x":10.0,"y":90.0},{"x":130.0,"y":530.0},{"x":280.0,"y":430.0},{"x":260.0,"y":520.0},{"x":190.0,"y":520.0},{"x":10.0,"y":530.0},{"x":10.0,"y":100.0},{"x":190.0,"y":60.0},{"x":270.0,"y":510.0}],"volumes":[10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0]}
{"placements":[{"x":10.0,"y":40.0},{"x":10.0,"y":530.5},{"x":10.0,"y":90.0},{"x":30.0,"y":220.0},{"x":120.0,"y":120.0},{"x":10.0,"y":60.0},{"x":30.0,"y":320.0},{"x":10.0,"y":250.0},{"x":110.0,"y":140.0},{"x":270.0,"y":510.0},{"x":190.0,"y":520.0},{"x":210.0,"y":530.0},{"x":220.0,"y":530.0},{"x":10.0,"y":10.0},{"x":190.0,"y":60.0},{"x":30.0,"y":510.0},{"x":180.0,"y":530.0},{"x":20.0,"y":100.0},{"x":50.0,"y":490.0},{"x":10.0,"y":490.0},{"x":10.0,"y":30.0},{"x":17.0,"y":22.75},{"x":240.0,"y":510.0},{"x":200.0,"y":520.0},{"x":268.5,"y":529.5},{"x":20.0,"y":10.0},{"x":40.0,"y":370.0},{"x":40.0,"y":10.0},{"x":30.0,"y":80.0},{"x":280.0,"y":430.0},{"x":240.0,"y":20.0},{"x":30.0,"y":10.0},{"x":10.0,"y":80.0},{"x":140.0,"y":520.0},{"x":90.0,"y":10.0},{"x":70.0,"y":69.25},{"x":10.0,"y":130.0},{"x":20.0,"y":280.0},{"x":10.0,"y":120.0},{"x":40.0,"y":110.0},{"x":10.0,"y":140.0},{"x":10.0,"y":270.0},{"x":170.0,"y":530.0},{"x":100.0,"y":520.0},{"x":10.0,"y":100.0},{"x":20.0,"y":170.0},{"x":20.0,"y":70.0},{"x":40.0,"y":20.0},{"x":70.0,"y":90.0},{"x":250.0,"y":10.0},{"x":260.0,"y":516.75},{"x":140.0,"y":490.0},{"x":80.0,"y":50.0},{"x":20.0,"y":130.0},{"x":230.0,"y":23.5},{"x":270.0,"y":490.0},{"x":30.0,"y":20.0},{"x":190.0,"y":530.0},{"x":290.0,"y":450.0},{"x":60.0,"y":60.0},{"x":70.0,"y":50.0},{"x":30.0,"y":30.0},{"x":220.0,"y":40.0},{"x":10.0,"y":280.0},{"x":100.0,"y":170.0},{"x":280.0,"y":520.0},{"x":190.0,"y":510.0},{"x":210.0,"y":510.0},{"x":230.0,"y":500.0},{"x":50.0,"y":80.0},{"x":30.0,"y":350.0},{"x":220.0,"y":500.0},{"x":40.0,"y":350.0},{"x":70.0,"y":350.0},{"x":200.0,"y":510.0},{"x":250.0,"y":500.0},{"x":240.0,"y":490.0},{"x":30.0,"y":50.0},{"x":110.0,"y":30.0},{"x":230.0,"y":517.0},{"x":50.0,"y":10.0},{"x":100.0,"y":20.0},{"x":28.0,"y":93.75},{"x":100.0,"y":70.0},{"x":40.0,"y":270.0},{"x":40.0,"y":40.0},{"x":140.0,"y":300.0},{"x":50.0,"y":50.0},{"x":210.0,"y":470.0},{"x":140.0,"y":120.0},{"x":120.0,"y":160.0},{"x":170.0,"y":470.0},{"x":18.75,"y":35.0},{"x":60.0,"y":270.0},{"x":20.0,"y":250.0},{"x":260.0,"y":480.0},{"x":90.0,"y":460.0},{"x":10.0,"y":50.0},{"x":50.0,"y":30.0},{"x":78.5,"y":63.5},{"x":20.0,"y":240.0},{"x":210.0,"y":500.0},{"x":250.0,"y":510.0},{"x":110.0,"y":126.75},{"x":60.0,"y":330.0},{"x":20.0,"y":270.0},{"x":60.0,"y":220.0},{"x":230.0,"y":490.0},{"x":80.0,"y":30.0},{"x":100.0,"y":30.0},{"x":280.0,"y":490.0},{"x":90.0,"y":200.0},{"x":190.0,"y":450.0},{"x":20.0,"y":300.0},{"x":40.0,"y":500.0},{"x":270.0,"y":436.75},{"x":250.0,"y":20.0},{"x":110.0,"y":10.0},{"x":60.0,"y":30.0},{"x":170.0,"y":280.0},{"x":40.0,"y":70.0},{"x":288.25,"y":424.0},{"x":130.0,"y":530.0},{"x":290.0,"y":500.0},{"x":250.0,"y":480.0},{"x":18.25,"y":524.5},{"x":140.0,"y":10.0},{"x":180.0,"y":66.5},{"x":278.25,"y":504.25}],"volumes":[10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0]}
2 changes: 1 addition & 1 deletion solutions/21.meta.json
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"score":221990.0,"solver":"foxtranV1"}
{"score":233200.0,"solver":"vulpes"}
2 changes: 1 addition & 1 deletion solutions/42.json
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"placements":[{"x":555.6678958031144,"y":779.9999999975944},{"x":640.1729356027981,"y":768.1079578024468},{"x":545.6678957669047,"y":780.0},{"x":539.0,"y":772.547539598113},{"x":629.7227313186202,"y":779.999999985273}],"volumes":[1.0,1.0,1.0,1.0,1.0]}
{"placements":[{"x":555.6678958031144,"y":779.9999999975944},{"x":640.1729356027981,"y":768.1079578024468},{"x":545.6678957669047,"y":780.0},{"x":539.0,"y":772.547539598113},{"x":629.7227313186202,"y":779.999999985273}],"volumes":[10.0,10.0,10.0,10.0,10.0]}
2 changes: 1 addition & 1 deletion solutions/42.meta.json
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"score":5975547.0,"solver":"lambda"}
{"score":59755470.0,"solver":"lambda"}
2 changes: 1 addition & 1 deletion solutions/45.json
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"placements":[{"x":156.0,"y":542.0},{"x":76.0,"y":692.0},{"x":76.0,"y":682.0},{"x":156.0,"y":692.0},{"x":116.0,"y":522.0},{"x":76.0,"y":562.0},{"x":156.0,"y":532.0},{"x":76.0,"y":552.0},{"x":156.0,"y":522.0},{"x":76.0,"y":542.0}],"volumes":[10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0]}
{"placements":[{"x":160.0,"y":522.0},{"x":76.0,"y":700.0},{"x":76.0,"y":690.0},{"x":160.0,"y":700.0},{"x":117.0,"y":522.0},{"x":76.0,"y":542.0},{"x":160.0,"y":532.0},{"x":76.0,"y":552.0},{"x":150.0,"y":522.0},{"x":76.0,"y":562.0}],"volumes":[10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0]}
2 changes: 1 addition & 1 deletion solutions/45.meta.json
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"score":143403350.0,"solver":"foxtranV1"}
{"score":171654760.0,"solver":"vulpes"}

0 comments on commit cc440c5

Please sign in to comment.