Any wine can be made up of many components. Each component is basically a bunch of grapes from a specific place and time, so each component has three attributes: vintage, varietal, and appellation.
While grapes come in to a winery as single components (eg. 2016 Russian River Valley Cabernet Sauvignon), a wine may end up composed of many components (after blending).
Given a summary of a finished wine's properties, how can you find a set of components — and their percentage contribution to the finished wine — that add up to that wine?
Here's what we have:
VINTAGE % VARIETY % APPELLATION %
2014 98.00 Cab Sauv. 78.95 Russian River Valley 37.02
2015 1.50 Petit Sirah 9.12 Lake County 35.81
2016 0.50 Syrah 7.34 Sonoma Coast 22.79
Petit Verdot 4.42 Sonoma 4.07
Sauv. Blanc 0.14 Napa 0.31
Concentrate 0.03
Ideally we are able to find the smallest set of components, but any set of components that could solve this would be acceptable.
What is the answer(s) for this specific data set, and what is the right approach for this problem in general?