NOTE: this is not the easiest question to understand exactly what it is that you are after, just my take on what I think you mean. Hopefully it is close to what you are looking for, seeing as it is quite long
This sounds like a straight-forward (in principle) application of decision theory. So you have your $n$ different "courses of action"; this is the decision space. These are the control routines as I see it. The problem is then to choose one of them for a specific patient. I am assuming that you have some fixed set of $n$ decisions already in mind, and the task is to find a good way to choose one for each patient.
Seeing as you say you are quite on top of the "modeling", I am going to assume that you are able to answer a question like "given the $k$th patient has characteristics $C_k$, how likely are they to have a recurrence at the $j$th time point, $t_j$?". Denote the above probability $P(t_{j}|C_{k})$ - your groups are then defined by the number of unique combinations of characteristics that are possible. This probability should be able to be gotten by some kind of "survival" or "hazard" function I would imagine. And from your question it sounds like "years" is your time unit of choice, and $t_{j}\in\{1,2,\dots,T\}$ where $T=15$ - though this is easily changed. You could store this as a $1500\times T$ matrix of probabilities, $P$, with one row for each patient.
To use decision theory, you need to specify a loss function in addition to the above probability model. This indicates the loss, in a numerical form, incurred by making the "wrong decision", and gains from making the "right decision". Your space of possibilities and decisions is discrete, so this loss function will take the form of a matrix. The rows represent a decision to act in a certain way; in your case to choose one of the $n$ control routines. The column represents the actual state of the world relevant to your problem; in your case this could be represented by the actual time of recurrence. So writing the $(i,j)$ entry of this matrix as $L_{ij}$, we need to specify a number which represents how "bad" it is to use the $i$th control routine when recurrence actually occurs at the $j$th time point, $t_{j}$. Once you have specified this matrix (not necessarily a trivial task), you then "average out" the true state of the world according to your predictive model, to get the expected loss:
$$E_{ik}=\sum_{j}L_{ij}P(t_{j}|C_{k})=\{PL^{'}\}_{ik}$$
The last equation shows this is a very simple matrix multiplication (so no need for annoying simulations), where $'$ denotes transpose (to avoid confusion with time). You then choose the decision with minimum expected loss for each patient and the problem is done. This is also a very easily updatable algorithm, so that you can have "dynamic" situations in which the probabilities and losses are updated after each visit.
The part which may take a little while to do is to specify those numbers for the loss. It may be a good idea to start "qualitatively" first: here are some features of the matrix which I think you may want, in a simplified example where the control routine that is being "optimised" merely specifies the time of the next visit:
- We should have $L_{ii}<L_{ij}$ for all $i\neq j$ - getting it right is always better than getting it wrong
- we should have $L_{i_1i_1}<L_{i_2i_2}$ for $i_1<i_2$ - getting a "early recurrence" patient's control correct is more important than getting a "later recurrence" patient's control correct (this assumes that early recurrence is an indication of a more severe disease)
- We should have $L_{ij_1}>L_{ij_2}$ for all $j_1<j_2<i$ and for $i>j_2>j_1$- a late detection of a recurrence is bad, and the later it is, the worse it is. Similarly for being early - the earlier it is the worse (because of wasted resources).
- We should have $|L_{ij_1}-L_{ij_2}|>|L_{ij_3}-L_{ij_4}|$ for all $j_1<j_2<i<j_3<j_4$ where $j_1-j_2=j_3-j_4$ - a late detection is worse than an unnecessarily early visit by the same amount of time. This says that we would rather waste resources on extra visits compared to missing a recurrence of the disease
These "features" of the loss function that you specify will narrow down what loss numbers are acceptable - and features are usually easier to specify (and explain) than the individual cells themselves. You could then run a few sensitivity tests within your class of acceptable loss matrices. Currently the "feature" of what I have specified is a sequence of "lop-sided V" shaped loss functions, so a simple loss matrix which has these features above is given by $L_{ij}=i+\alpha|i-j|+\beta max(i-j,0)$ for two numbers $\alpha,\beta>0$. $\alpha$ controls how fast the loss increases as you get further away from making the correct decision, and $\beta$ controls the trade-off between catching recurrence early and wasting resources.
It requires a bit of thinking, but it shouldn't take too long (didn't take me long to do the above). Also you should make your "effort" in assigning the loss values "in proportion" to how accurate your predictions are. For example, if your predictions are accurate to within say $5\pm 3$ years, then don't bother agonising over loss values outside this range such as $1$ year or $12-15$ years, becuase they are unlikely to contribute anything to your decision, the low value of $P(t_j|C_k)$ wipes out the loss. A bit of "agonising" may be worthwhile for the most likely values though. (A bit of "meta-decision-theory" going on here - deciding how long you should spend making your decision!)
You could further complicate things by adding the type of visit they have - long visits, short visits, cheap tests, expensive tests, etc. but this only makes the loss matrix bigger and the assignment harder/more tedious - you don't need a new method/principle, and the calculation is not "computationally explosive" which may happen with simulations. Same goes if the time of recurrence was not the only uncertainty you needed to consider (perhaps you want severity of recurrence as well) - it just makes that probability matrix bigger (i.e. a more complex model is required), as well as a bigger loss matrix, as you have more "states of the world" to consider.