You do not need permanent magnet here indeed(well, in theory).
Though using only coil can be problematic since magnetic field from it is very modest, you would need to place the coil very close to the string to vibrate it and it is not practical.
Permanent magnet helps simplify the coil, by changing the magnetic field generated by coil you would change the magnetic field of permanent magnet, therefore vibrating the string.
With this setup you can make coil suitable for amplifier(8 ohms, ~1 Henry for example) to work with.
Firstly, I do not think you can use a neodymium magnet as a projectile.
Coilgun
A coilgun (or Gauss gun, in reference to Carl Friedrich Gauss, who formulated mathematical descriptions of the magnetic effect used by magnetic accelerators) is a type of projectile accelerator consisting of one or more coils used as electromagnets in the configuration of a linear motor that accelerate a ferromagnetic or conducting projectile to high velocity.
And you should be more focused on the kinetic energy of the projectile as it leaves the tube. A 400 farad 2.7 v capacitor stores 1450 joules of energy, which given a efficiency of 1 percent translates to 14.5 joules of projectile energy. Plugging this in to the kinetic energy equation \$E = \frac{1}{2}mv^2\$, gives us a muzzle velocity of 170 m/s for a 1 gram projectile.
Now let's come to the question of force. The force depends on how much power you can pump through the coil. And this minimum force will be huge, because the projectile must reach muzzle velocity by the middle of the coil. (The coil must also be discharged by this time, or the projectile will slow down) For a one gram projectile, this will be 729 newtons or 73 kgs of force, assuming a coil length of 4 cm. (You can calculate acceleration from this equation - \$ a = \frac{v^2}{s}\$ where s is the barrel length and v is velocity)
And what does this mean? You need a strong projectile, definitely. And your capacitor must provide a vast amount of power. Taking the above parameters, the time before the projectile hits the middle of the barrel is 0.23 milliseconds, which you can calculate using the kinematic equation \$x = \frac{1}{2}at^2\$. Dividing the total energy by the time gives us a power requirement of 6.5 MW to be discharged. That's right. 6.5 MW.
With a 2.7 volt capacitor, the resistance must be below 1 micro-ohm. Definitely not possible. With a 400 volt capacitor, the minimum will be 24 milliohms. This is possible.
Now, your question specifies you are not interested in maximizing velocity. In that case, you can go through these calculations for your specific use case. The wire gauge depends on the current going through the wire and the voltage. Once you have that you can calculate the number of turns needed, and that gives you the resistance of the coil. You can add this to the resistance of the capacitor and the diode to give you the total resistance. This must be lower than the minimum resistance you calculated.
And of course, exercise caution. 1500 joules is a lot of energy.
Best Answer
PWM is a good choice and remember that the coil needs a reverse connected diode across it to prevent back-emf's from the open-circuited inductor damaging stuff. You will also need to use a power transistor of some type to interface between the arduino and the coil - the arduino doesn't provide enough "drive" to get anywhere near 2A. Here's a diagram that shows a transistor from an MCU but it has a motor instead of a coil. This doesn't matter - the important thing is that it shows the diode and a method of driving the coil: -
It also shows +5V but this can be +12V. Things to watch out for: -
1) The diode needs to be rated at a current that exceeds the maximum current through the coil.
2) The coil still needs the resistor in series in case of short circuits but, it maybe reduced to something like 1 ohm when you are happier with operations.
3) The transistor has to be rated to switch the current so probably choose one that can easily handle at least 3A.
4) Voltage rating on the transistor need only be 20V or higher
5) Resistor in series with base may need to be 100 ohm - try this to begin with. From a 3V3 IO line 100 ohm will mean a base current of about 30mA and if the HFE of the transistor is good when switching power loads (100+) it should be OK however, it may be better to use a FET for this and there are plenty to choose from.
Next try putting out a 50:50 mark-space pulse (a square wave) and changing the frequency and see what the core losses are like with progressively higher frequencies. I would have thought 1kHz is a good starting point and you may be satisfied with 10kHz hopefully.