# 4. Network Optimization
In the previous chapters, we dealt with general problems by first, formulating all the necessary constraints, and then, passing the problem to an LP or MILP solver. In a way, we were blind to the problem structure. However, it is often worth studying the problem structure first, as exploiting it can give us ideas for better solution methods. In this chapter, we consider a very general class of problems with such a special structure -- the **network flow** problems.
In this chapter, there is a number of examples with companion AMPL implementation that explore various modeling and implementation aspects of network optimization:
* [A dinner seating arrangement problem](dinner-seat-allocation.ipynb)
* [A franchise gasoline distribution problem](gasoline-distribution.ipynb)
* [A cryptocurrency arbitrage problem](cryptocurrency-arbitrage.ipynb)
* [Extra material: Energy dispatch problem](power-network.ipynb)
* [Extra material: Forex arbitrage](forex-arbitrage.ipynb)
Go to the [next chapter](../05/05.00.md) about convex optimization.