Problem 58508. ICFP 2023: Orchestra, Place Band members to maximize Audience net Happiness
The ICFP 2023 Competition in July was to place musicians on a stage to maximize the attendees net happiness. The musicians played various instruments with attendees having preference values for each instrument type. Musicians could block attendees from seeing musicians behind them. Blocking occurs if a_i to m_j vector touched within 5 of m_k. No musicians allowed within 10 of one another. Vector check is being done with a prior Cody 1446 solution variant. Volume per musician was allowed but not in this Challenge. Happiness drops off as the square of distance between musician and attendee.
The ICFP 2023 site will hopefully have contestant writeups. The ICFP 2023 Orchestra Spec shows details of the contest. I modified the problem contents to the necessary elements regarding the stage. The joys of JSON can be viewed. The musician types were upgraded by 1 to be non-zero based.
This Challenge is to place the 16 musicians,mxy, of Problem 22 onto the stage and score an Attendee happiness score of higher than 19 million; Best known 47221761. The inputs are detailed in the function template and include axy-attendee positions, am-attendee happiness factors to each instrument, mu-instruments of each musician, stage limits-[xmin xmax ymin ymax]. This stage is a line of ymin=ymax=10, xmin=10, and xmax=990, seen in the image below.
Individual attendee happiness= 1000000*am(i,mu(j))/d2(i,j) for attendee-i and musician-j where d2 is distance squared.
Simplest solution would be mxy(:,1)=10:10:160 where mxy(:,2)=10 but this scores only 13M suffering from 1/d2.
Please submit the template to view the tables and graphs. The graphs will give a great starting point.
This is the Orchestra room problem 22 showing the attendees and the stage.
The stage is the line on the bottom at Y=10 extending in X 10:990 .
Solution Stats
Problem Comments
-
1 Comment
Richard Zapor
on 15 Jul 2023
The Test Suite provides graphs and tables that will be useful to making an initial guess. Use the default response of 10:10:160 to see the graphs and tables.
Solution Comments
Show commentsProblem Recent Solvers2
Suggested Problems
-
Make the vector [1 2 3 4 5 6 7 8 9 10]
49227 Solvers
-
Replace NaNs with the number that appears to its left in the row.
2971 Solvers
-
41 Solvers
-
143 Solvers
-
False position (linear interpolation) method of finding a root.
23 Solvers
More from this Author308
Problem Tags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!