The behaviour of Bacharach opacity, a parameter for monitoring chimney emissions from fuel-based combustion engines, was modelled in terms of the variables that determine the properties of the fuel, of operating parameters and of variables measured at the chimney. The high correlation among the fuel variables entails the prior reduction of their collinearity if a reliable model for Bacharach opacity is to be constructed. We applied principal component analysis (PCA) to the variables in order to circumvent this shortcoming and used the scores obtained as fuel variables. The high complexity of the parameters studied makes linear regression useless for building functional models from them. We thus used a non-linear approach, viz. the alternating conditional expectations (ACE) method to relate these parameters to Bacharach opacity and developed appropriate mechanisms for decreasing large opacity values that proved efficient in controlling chimney emissions.