[FIBERALLOC-11] Add constraint on the maximum number of targets in each class for netflow assigner Created: 22/Mar/19  Updated: 28/Nov/19  Resolved: 28/Nov/19

Status: Done
Project: Target to fiber allocation and configuration
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Task Priority: Normal
Reporter: Kiyoto Yabe Assignee: Martin Reinecke
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Currently, there is no constraint on the maximum number of science targets assigned. Add the constraint in the ETS.



 Comments   
Comment by Martin Reinecke [ 02/Jun/19 ]

Just out of curiosity: why would there be an explicit constraint on the maximum number of science targets? I would expect that we always want to observe as many as possible.

Of course the number of science targets will be limited by other factors (e.g. the need to allocate a certain number of fibers to sky and calibration targets). But this should be handled automatically by the software.

Comment by Kiyoto Yabe [ 10/Jun/19 ]

The original motivation of this idea is like this:

The galaxy evolution group will do a random sampling for some classes. For example,  imagine that we have 10000 gals for class A (short exposure) and 10000 gals for class B (long exposure) in the catalog, and we want to sample from them with a sampling rate of 50% for class A and 70% for class B. Previously, we pre-selected from the catalog (5000 for class A and 7000 for class B) and feed to the ETS. But, we thought that we might have better optimizations if we feed all galaxies and set the maximum cap corresponding to the sampling rate than previous way, because we get more new networks (5000+7000 vs. 10000+10000) and positional (and collisional) constraint will be relaxed. 

I know this is a bit complicated because the exposure time of each class is different, but I feel that the more networks give us a chance of the better solution. What do you think?

Comment by Martin Reinecke [ 11/Jun/19 ]

This sounds like a situation where one wants to add problem-specific terms to the cost function, which I'm currently trying to implement. The idea is that the `netflow` module simply builds the basic optimization problem for you and then returns a "problem object", which you can query for individual variables and constraints. In the situation above you could probably add a term to the cost function which becomes large if any sampling rate is too low.

This is still work in progress, but I hope it won't take too long to implement this.

 

Comment by Martin Reinecke [ 12/Aug/19 ]

I have now also added a simple way of setting the maximum number of targets to be observed in a given target class. The code is on branch "tickets/FIBERALLOC-11" in the Github repository. The number of targets can be limited by setting the key "nobs_max" to the desired valued in the respective "classdict" entry.

Comment by Martin Reinecke [ 27/Nov/19 ]

Merged to master.

Comment by Martin Reinecke [ 27/Nov/19 ]

I'm too stupid for JIRA ... how can I close this?

Generated at Sat Feb 10 16:52:49 JST 2024 using Jira 8.3.4#803005-sha1:1f96e09b3c60279a408a2ae47be3c745f571388b.