There are three distinct blobs of Northern Militia on the map at the start, and all could move during the mission depending solely on your actions. One center group left that has three artillery units, and two groups north of them split apart east and west.
The game suggests that in order to not alert the cannon (of the center left group); you should attack the units on the right hand side (the northeast Militia) first. No matter what hex path you take, you will alert all units on the map of your presence at some point, defeating this recommendation.
All told I probably played this mission 20+ times until I figured out that the only way that you can defeat the enemy is to bring your artillery into the fight and use your infantry to seize the high ground to assist in winning what becomes simply a battle of attrition.
The first time I won this mission I had some Militia left, but the second play through for the screen shots and movie, there were none left. I had my original three cannon remaining from the outset, with only one group having taken some minor damage.
The trick is to bring your infantry forward just enough to trigger all of the North Militia to come down south and engage you. Defensively I put three Militia units on the high ground in the clump of trees and set them to fortify. I then flanked one militia unit to the left and forward to trigger the response.
The endgame came when I took two weakened Militia units out of cover and concealment and used them to clasp against the enemy artillery unit while moving my cannon into hex range for an attack. The Militia units were expendable pawns and filled that role admirably, allowing me to bring fire down for the win.