How to choose a colorant for a given substrate?

I know there are volumes of International Colour Index ([homepage](http://www.colour-index.com/), [wiki](https://en.wikipedia.org/wiki/Colour_Index_International), [paper](http://link.springer.com/article/10.1007%2FBF02692335)), but I can't really extract from there for example what red colorants are compatible with both silk and polyester, etc.


[This paper](http://www.provost-inkjet.com/resources/Interactions+of+Ink+and+Media+in+Ink+Jet+Printing.pdf) mentions that such compatibility can be estimated using numerical methods:



> 
> "[Metropolis Monte Carlo](https://en.wikipedia.org/wiki/Metropolis%E2%80%93Hastings_algorithm) methods have been used to determine the surface
>  interaction or binding energy for dyes to cellulose." [[ref]](http://www2.chemistry.msu.edu/courses/cem888/cukier/Allen,Tildesley,_Computer_Simulation_of_Liquids,1991.pdf)
> 
> 
> 


1. Is there a comprehensive database for this?
2. Is there an analytical way to determine/predict/estimate such compatibility?


