I am given following problem, for which I am seeking for advice.

Problem Statement

Suppose you are given a catalogue of dishes with their cost and calories. Can you design an algorithm/model which can generate a menu of item such that items in menu has cost less than certain( say X) dollar and calories (say Y) approx equal to certain value.

X = 800
Y = 20

menu_items = method(calories=Y, cost=X)   # Generate a menu under 20$ and approx 800 calories.

Dataset can look like

Item               Type             Cost             Calories
A                  Bread            1.5              300
B                  Gravy            6                500
C                  Bread            1                100
D                  Salad            5                100
E                  Dessert          3                400  

What I am looking for I am looking for advice that

  • what kind of models I can look into to solve this problem, since it is neither classification nor regression nor clusterring.
  • If their is any related research paper that you know, i will be more than happy to read that out.

Note: I tried to ask chatGpt the same question Question: Can you generate a menu under 5$ with 800 calories? ChatGPT gave me the menu but since i want to have similar behaviour on my own data-set so I need to comeup with custom model.

  • $\begingroup$ You can fine-tune GPT-3 on your data and use it similarly to ChatGPT $\endgroup$
    – noe
    Feb 15 at 10:46
  • $\begingroup$ Yes, I know i can fine-tune chatGPT. But that model expects Intent - Completion pair, in my case Intent is just couple of variation of one question whereas completion is the combination of items satisfying the constraint. So, not sure how can I pass data-set for this usecase to chatGPT. $\endgroup$ Feb 15 at 11:05
  • $\begingroup$ As far as I know, OpenAI has not released any way to fine-tune ChatGPT yet, have they? I referred to GPT-3, which is just a language model. $\endgroup$
    – noe
    Feb 15 at 12:41
  • $\begingroup$ This can be formulated as an optimization problem, for which you can use a python library such as PuLP. For the example you posted you could even make use of the 'Solver' add-in for excel, which gave me the solution of selecting two of type E (without knowing if you have any constraints on the maximum number of each item that can be selected). $\endgroup$
    – Oxbowerce
    Feb 15 at 14:17


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Browse other questions tagged or ask your own question.