JuMP is just a tool for describing your optimization problem, so you also need an optimizer to solve the problem. It looks like GitHub - jump-dev/GLPK.jl: GLPK wrapper module for Julia would work for your case. You can install it with Pkg.add("GLPK") and then use it like this:
using JuMP
using GLPK
m = Model(with_optimizer(GLPK.Optimizer))
@variable(m, x1)
...
Can you explain what you mean? x1 is already a variable with no bounds in the optimization problem you’ve written. Do you need something other than that?
Also, by the way, rather than making variables with numbers in their names, like x1, x2, etc., I would suggest making a vector of variables: