## Problem Description and Formulation

The problem is a linear programming optimization problem. The goal is to maximize the profit of Amazing Arts by determining the number of large and small artworks to produce, given the available resources (paint, glitter, and glue) and the minimum production requirements for each type of artwork.

### Decision Variables

- \(L\): The number of large artworks to be made.
- \(S\): The number of small artworks to be made.

### Objective Function

The profit per large artwork is $200, and the profit per small artwork is $75. The objective is to maximize the total profit \(P\):

\[P = 200L + 75S\]

### Constraints

1. **Resource Constraints:**
   - Paint: \(5L + 3S \leq 200\)
   - Glitter: \(3L + S \leq 100\)
   - Glue: \(4L + 2S \leq 80\)

2. **Minimum Production Requirements:**
   - Large artworks: \(L \geq 5\)
   - Small artworks: \(S \geq 10\)

3. **Non-Negativity Constraints:**
   - \(L \geq 0\) and \(S \geq 0\), but these are partially covered by the minimum production requirements.

### Gurobi Code

```python
import gurobi

def solve_artwork_problem():
    # Create a new model
    model = gurobi.Model()

    # Decision variables
    L = model.addVar(lb=5, name="Large_Artworks")  # At least 5 large artworks
    S = model.addVar(lb=10, name="Small_Artworks")  # At least 10 small artworks

    # Objective function: Maximize profit
    model.setObjective(200*L + 75*S, gurobi.GRB.MAXIMIZE)

    # Resource constraints
    model.addConstr(5*L + 3*S <= 200, name="Paint_Constraint")
    model.addConstr(3*L + S <= 100, name="Glitter_Constraint")
    model.addConstr(4*L + 2*S <= 80, name="Glue_Constraint")

    # Solve the model
    model.optimize()

    # Print the results
    if model.status == gurobi.GRB.OPTIMAL:
        print(f"Optimal solution found. Large artworks: {L.varValue}, Small artworks: {S.varValue}")
        print(f"Maximum profit: ${200*L.varValue + 75*S.varValue}")
    else:
        print("No optimal solution found.")

solve_artwork_problem()
```