What is the relation between OpenStack, OpenDaylight, OpenFlow and Open vSwitch? Are there other options in place of any of these?
For virtualization, you need some service to handle bridging between your instances. Open vSwitch is virtual switch that can handle tasks like these.
One alternative for OVS that I know is Linc switch Infoblox / FlowForwarding - LINC
OpenFlow is a protocol standard for SDN which facilitates remote management of switches from a centralized control plane/controller.
Currently, I don't see any alternatives for OpenFlow with a wide range of support.
OpenDaylight is an SDN controller that lets the user to programmably manage OpenFlow capable switches. This is a huge project(because of the scale of collaboration) with a large set of features and compatible north bound applications. But, alternatives to ODL include(but not limited to) Floodlight, RYU SDN framework, NOX, POX etc..,
And OpenStack is a cloud orchestration platform that can work independently without any of these technologies. But can also use all the above mentioned technologies to provide the user more programmatic control over the infrastructure( hence, improving the scope for automation).
Services like AWS, Google cloud platform, Azure etc let you orchestrate cloud networks without using OpenStack. So, such services could be considered as alternatives to OpenStack. You could find a lot of such services by looking up on google.