├── architecture.png ├── Notice.txt ├── docs └── youtube_play.png ├── License.txt ├── repository-config.json ├── WALKTHROUGH.md ├── Deploy_Microservices_Cloud_Foundry_Docker.md ├── README.md └── AI for Supply Chains.ipynb /architecture.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ashishpatel26/AI_Supply_Chain/master/architecture.png -------------------------------------------------------------------------------- /Notice.txt: -------------------------------------------------------------------------------- 1 | This product includes software originally developed by IBM Corporation 2 | Copyright 2016 IBM Corp. -------------------------------------------------------------------------------- /docs/youtube_play.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ashishpatel26/AI_Supply_Chain/master/docs/youtube_play.png -------------------------------------------------------------------------------- /License.txt: -------------------------------------------------------------------------------- 1 | Copyright 2016 IBM Corp. 2 | 3 | Licensed under the Apache License, Version 2.0 (the "License"); 4 | you may not use this file except in compliance with the License. 5 | You may obtain a copy of the License at 6 | 7 | http://www.apache.org/licenses/LICENSE-2.0 8 | 9 | Unless required by applicable law or agreed to in writing, software 10 | distributed under the License is distributed on an "AS IS" BASIS, 11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | See the License for the specific language governing permissions and 13 | limitations under the License. -------------------------------------------------------------------------------- /repository-config.json: -------------------------------------------------------------------------------- 1 | [{ 2 | "repositories": [ 3 | "IBM-Cloud/logistics-wizard", 4 | "IBM-Cloud/logistics-wizard-toolchain", 5 | "IBM-Cloud/logistics-wizard-erp", 6 | "IBM-Cloud/logistics-wizard-webui", 7 | "IBM-Cloud/logistics-wizard-controller", 8 | "IBM-Cloud/logistics-wizard-recommendation" 9 | ], 10 | "milestones": [ 11 | { 12 | "title": "1/12 - Sprint", 13 | "state": "closed", 14 | "due_on": "2017-01-12T23:59:59Z" 15 | }, 16 | { 17 | "title": "1/26 - Sprint", 18 | "state": "closed", 19 | "due_on": "2017-01-26T23:59:59Z" 20 | }, 21 | { 22 | "title": "02/09 - Sprint", 23 | "state": "closed", 24 | "due_on": "2017-02-09T23:59:59Z" 25 | }, 26 | { 27 | "title": "02/23 - Sprint", 28 | "state": "open", 29 | "due_on": "2017-02-23T23:59:59Z" 30 | }, 31 | { 32 | "title": "03/09 - Sprint", 33 | "state": "open", 34 | "due_on": "2017-03-09T23:59:59Z" 35 | }, 36 | { 37 | "title": "03/23 - Sprint", 38 | "state": "open", 39 | "due_on": "2017-03-23T23:59:59Z" 40 | } 41 | ] 42 | }] 43 | -------------------------------------------------------------------------------- /WALKTHROUGH.md: -------------------------------------------------------------------------------- 1 | # Logistics Wizard Walkthrough 2 | 3 | For this walkthrough, you can use the shared deployment available at https://logistics-wizard.mybluemix.net/ or deploy your own version using [the toolchain](https://github.com/IBM-Cloud/logistics-wizard-toolchain). 4 | 5 | You are going to play the role of a supply chain manager. You are working with a global retail company with multiple distribution centers, retail stores and a bunch of ongoing shipments. 6 | 7 | 1. Go to the home page of the web user interface, i.e https://logistics-wizard.mybluemix.net/ or the url of the *webui* app if you deployed your own. 8 | 9 | > The source code for the webui is available [here](https://github.com/IBM-Cloud/logistics-wizard-toolchain). 10 | 11 | 1. The homepage acts mainly as a portal to the app source and a starting point for this walkthrough. 12 | 13 | 1. Click on **View Logistics Wizard in action**. 14 | 15 | > If you were really working for this company you would have your own set of credentials to log into the application. Here we did not want you to have to think about any credentials. So instead we choose to automatically generate an isolated environment - with its own data set - when you click on this button. The environment will be the same every time you click the button. The benefit is that you can play with the deployment without being impacted by the actions of other users. 16 | 17 | 1. The dashboard shows up. It gives the supply chain manager an overview of ongoing shipments on a map. 18 | 19 | > The distribution centers, retail stores and shipments are retrieved from [the ERP simulator](https://github.com/IBM-Cloud/logistics-wizard-erp) by going through [the controller](https://github.com/IBM-Cloud/logistics-wizard-controller). 20 | 21 | 1. Select a distribution center. It shows outgoing shipments from this distribution center. 22 | 23 | 1. Select a retail store. It shows incoming shipments and the weather at this location. 24 | 25 | > The weather information is retrieved by going through [the controller](https://github.com/IBM-Cloud/logistics-wizard-controller) which in turn calls an OpenWhisk action defined in [the recommendation service](https://github.com/IBM-Cloud/logistics-wizard-recommendation). 26 | 27 | 1. Select a shipment. It shows its current location and the current weather for this location. 28 | 29 | 1. Close the detail view. 30 | 31 | 1. You may have noticed the **Simulate Storm** button on the map. We don't control the weather but we can inject into the recommendation service a fabricated event to trigger the generation of new shipment recommendations. 32 | 33 | 1. Press **Simulate Storm**. 34 | 35 | > When you press the button, an OpenWhisk action is called in [the recommendation service](https://github.com/IBM-Cloud/logistics-wizard-recommendation) to generate suggested shipments given the storm event. 36 | 37 | 1. After a short while, an alert is displayed, the map is updated and shows the area impacted by the storm. 38 | 39 | 1. Select the storm area on the map. 40 | 41 | 1. The storm information panel is displayed. It shows the weather conditions and the suggested additional shipments. 42 | 43 | 1. As a supply chain manager, you can decide whether to approve or reject the suggested shipments. 44 | 45 | 1. Approve one shipment and reject the other. 46 | 47 | > Approve and reject are two other OpenWhisk actions in [the recommendation service](https://github.com/IBM-Cloud/logistics-wizard-recommendation). 48 | 49 | 1. Both recommendations disappear from the details. 50 | -------------------------------------------------------------------------------- /Deploy_Microservices_Cloud_Foundry_Docker.md: -------------------------------------------------------------------------------- 1 | # Instructions to Deploy Microservices as Cloud Foundry Docker Apps 2 | 3 | These are instructions to deploy Logistic Wizard to Bluemix. The Webui, ERP, and Controller can be deployed to Bluemix Cloud Foundry. The ERP and Controller services will be pushed to Bluemix CF using docker images while the Webui will be deployed as a regular CF app. 4 | 5 | ## Set up the ERP 6 | 7 | 1. Set up the database for the ERP: 8 | ``` 9 | bx cf create-service bx cf create-service elephantsql turtle logistics-wizard-erp-db 10 | ``` 11 | 2. Then clone `logistics-wizard-erp` repo: 12 | ``` 13 | git clone https://github.com/IBM-Cloud/logistics-wizard-erp 14 | cd logistics-wizard-erp 15 | ``` 16 | 17 | 3. Build and push the image to docker hub. 18 | ``` 19 | docker build -t /logistics-wizard-erp:latest . 20 | docker push /logistics-wizard-erp:latest 21 | ``` 22 | 4. Create the ERP microservice in bluemix without starting it using the docker image you created above 23 | ``` 24 | bx cf push --docker-image=/logistics-wizard-erp:latest --no-start 25 | bx cf bind-service logistics-wizard-erp-db 26 | ``` 27 | 5. Start the ERP microservice 28 | ``` 29 | bx cf start 30 | ``` 31 | 6. After starting the ERP microservice, you can verify it is running by hitting `https://.mybluemix.net/explorer` 32 | 33 | ## Set up the Controller Service 34 | 35 | 7. Clone the controller repo: 36 | ``` 37 | git clone https://github.com/IBM-Cloud/logistics-wizard-controller 38 | cd logistics-wizard-controller 39 | ``` 40 | 8. Build and push the image to docker hub. 41 | ``` 42 | docker build -t /logistics-wizard-controller:latest . 43 | docker push /logistics-wizard-controller:latest 44 | ``` 45 | 9. Create the controller microservice in bluemix without starting it using the docker image you created above 46 | ``` 47 | bx cf push --docker-image=/logistics-wizard-controller:latest --no-start 48 | ``` 49 | 10. Set the environment variables for the controller to connect to the ERP and use OpenWhisk actions 50 | ``` 51 | bx cf set-env ERP_SERVICE 'https://lw-erp-cf-docker.mybluemix.net/explorer' 52 | bx cf set-env OPENWHISK_AUTH 53 | bx cf set-env OPENWHISK_PACKAGE lwr 54 | ``` 55 | 11. Start the controller microservice 56 | ``` 57 | bx cf start 58 | ``` 59 | 60 | ## Set up the OpenWhisk Actions 61 | 62 | 1. Create the services needed for OpenWhisk 63 | ``` 64 | bx cf create-service weatherinsights Free-v2 logistics-wizard-weatherinsights 65 | bx cf create-service cloudantNoSQLDB Lite logistics-wizard-recommendation-db 66 | ``` 67 | 68 | 2. Create service keys for both services and take note of the URL values: 69 | ``` 70 | bx cf create-service-key logistics-wizard-weatherinsights for-openwhisk 71 | bx cf create-service-key logistics-wizard-recommendation-db for-openwhisk 72 | bx cf service-key logistics-wizard-weatherinsights for-openwhisk 73 | bx cf service-key logistics-wizard-recommendation-db for-openwhisk 74 | ``` 75 | 76 | 3. Clone the logistics-wizard-recommendation repo: 77 | ``` 78 | git clone https://github.com/IBM-Cloud/logistics-wizard-recommendation 79 | cd logistics-wizard-recommendation 80 | ``` 81 | 4. Copy the local env template file 82 | ``` 83 | cp template-local.env local.env 84 | ``` 85 | 5. Using the URL values from above update the `local.env` file to look like the following: 86 | ``` 87 | PACKAGE_NAME=lwr 88 | CONTROLLER_SERVICE= 89 | WEATHER_SERVICE= 90 | CLOUDANT_URL= 91 | CLOUDANT_DATABASE=recommendations 92 | ``` 93 | 6. Build your openwhisk actions: 94 | ``` 95 | npm install 96 | npm run build 97 | ``` 98 | 7. Deploy your OpenWhisk actions: 99 | ``` 100 | ./deploy.sh --install 101 | ``` 102 | 103 | ## Set up the WebUI 104 | 105 | 1. Clone the logistics-wizard-webui repo: 106 | ``` 107 | git clone https://github.com/IBM-Cloud/logistics-wizard-webui 108 | cd logistics-wizard-webui 109 | ``` 110 | 2. Install the dependencies 111 | ``` 112 | npm install 113 | ``` 114 | 3. Build the static files for the UI using the appropriate environment variables 115 | ``` 116 | CONTROLLER_SERIVCE='' GOOGLE_MAPS_KEY='' npm run deploy:prod 117 | ``` 118 | 4. Deploy the app to bluemix 119 | ``` 120 | cd dist 121 | bx cf push -b staticfile_buildpack 122 | ``` 123 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | 2 | ## Overview 3 | 4 | This is the code for [this](https://youtu.be/vwor9Fva1V4) video on Youtube by Siraj Raval about Supply Chains. 5 | 6 | Logistics Wizard is a reimagined supply chain optimization system for the 21st century. 7 | 8 | A number of companies use on-premises applications to run their supply chain business processes. [Enterprise Resource Planning](https://en.wikipedia.org/wiki/Enterprise_resource_planning) systems are often one of them and play a critical role in the daily operations. 9 | 10 | Logistics Wizard aims to simulate an environment running an ERP system and augments this ERP system with applications to improve the visibility and agility of supply chain managers. In this case, the ERP system is a simulator implementing a very small subset of the functionalities of a real ERP system. The goal is to showcase several common SaaS implementation patterns. Logistics Wizard exhibits hybrid cloud, micro-services, and big data analytics concepts that can be reused when building enterprise-level applications on Bluemix. 11 | 12 | One scenario, illustrating how a supply chain can be made more agile, involves dealing with a bad weather condition. Considering a global retail company with distribution centers, retail stores and ongoing shipments, how can this company adapt its supply chain to react to changing weather conditions that could impact its shipments or become opportunities to increase revenues. 13 | 14 | 15 | [![Logistics Wizard on Bluemix](docs/youtube_play.png)](http://www.youtube.com/watch?v=wCxXs83-eRc "Logistics Wizard on Bluemix") 16 | 17 | ## Try the Logistics Wizard sample 18 | 19 | Use [this walkthrough](WALKTHROUGH.md) to view the application in action. 20 | 21 | ## Deploy Logistics Wizard in Bluemix 22 | 23 | You can deploy your own environment in the following ways: 24 | 1. Use the [Logistics Wizard Toolchain][toolchain_github_url] to deploy the application as Cloud Foundry microservices. (Recommended) 25 | 2. Follow these [instructions](Deploy_Microservices_Cloud_Foundry_Docker.md) to deploy the ERP & Controller manually as Cloud Foundry **Docker** Apps. 26 | 3. Learn more about deploying the ERP & Controller microservices using **Kubernetes** & **Istio** in this [blog](https://www.ibm.com/blogs/bluemix/2017/07/deploy-logistics-wizard-microservices-kubernetes-istio/). 27 | 28 | ## Architecture 29 | 30 | The following projects are leveraged in the overall Logistics Wizard solution: 31 | 32 | * [logistics-wizard-erp][erp_github_url] - defines the API used by the Logistics Wizard to access data from an ERP system. It also provides a default implementation to be used as a simulator. The simulator is a Node.js application connected to a PostgreSQL database. Through its API, it manages users (supply chain managers and retail store managers), distribution centers, retail stores and shipments. 33 | 34 | * [logistics-wizard-webui][webui_github_url] - provides a dashboard to view ongoing shipments and alerts. There is no log-in or user credentials per se to use the deployed applications. Instead a unique demo ID is assigned to any new user trying the application. Behind each demo ID, Logistics Wizard creates an isolated environment with a default set of business users, distribution centers, retail stores, shipments. Refer to the [walkthrough](WALKTHROUGH.md) to get a tour of the capabilities. 35 | 36 | * [logistics-wizard-recommendation][recommendation_github_url] - makes shipment recommendations based on weather conditions. It is a set of Bluemix OpenWhisk to retrieve current weather conditions and given a weather event to generate new shipment recommendations. These recommendations could then be turned into real orders. 37 | 38 | * [logistics-wizard-controller][controller_github_url] - acts as the main controller for interaction between the services. It receives requests from the user interface and routes them to the ERP or the weather recommendation module. 39 | 40 | ![Architecture Diagram](architecture.png) 41 | 42 | Visit the [wiki](https://github.com/IBM-Cloud/logistics-wizard/wiki) for a detailed breakdown of the Logistics Wizard demo architecture and deployment strategy. 43 | 44 | ## Related Blog Posts, Videos, etc 45 | 46 | - [Microservices on Bluemix: A multi-compute approach using Cloud Foundry and OpenWhisk](https://www.ibm.com/blogs/bluemix/2017/02/microservices-multi-compute-approach-using-cloud-foundry-openwhisk/) 47 | 48 | - [Build a smarter supply chain with LoopBack](https://developer.ibm.com/bluemix/2016/07/11/building-smarter-supply-chain-developer-journey-loopback/) 49 | 50 | - [Master continuous integration and delivery with the IBM Devops Toolchain](https://developer.ibm.com/bluemix/2016/08/09/master-continuous-integration-delivery-ibm-devops-toolchain/) 51 | 52 | - [Using React and other technologies for Logistics Wizard UI](https://www.ibm.com/blogs/bluemix/2016/01/using-react/) 53 | 54 | - [Old skills, new tricks: Unit testing OpenWhisk actions in a serverless world](https://www.ibm.com/blogs/bluemix/2016/12/unit-testing-openwhisk-actions-serverless-world/) 55 | 56 | - [Deploy Logistics Wizard microservices with Kubernetes and Istio](https://www.ibm.com/blogs/bluemix/2017/07/deploy-logistics-wizard-microservices-kubernetes-istio/) 57 | 58 | ## Project Milestones 59 | 60 | The GitHub milestones for this project and its children are managed by editing the [repository config](repository-config.json) file. The syntax is described in [this project](https://github.com/Jimdo/github-sync-labels-milestones). Modify the file and commit. Travis will take care of creating/updating the milestones. 61 | 62 | ## Contribute 63 | Please check out our [Contributing Guidelines](.github/CONTRIBUTING.md) for detailed information on how you can lend a hand to the Logistics Wizard demo implementation effort. 64 | 65 | ## License 66 | 67 | See [License.txt](License.txt) for license information. 68 | 69 | | :point_down: Repositories ... Branches :point_right: | master | dev | 70 | | --- | :--- | :--- | 71 | | [logistics-wizard-erp][erp_github_url] | [![Build Status](https://travis-ci.org/IBM-Cloud/logistics-wizard-erp.svg?branch=master)](https://travis-ci.org/IBM-Cloud/logistics-wizard-erp) [![Coverage Status](https://coveralls.io/repos/github/IBM-Cloud/logistics-wizard-erp/badge.svg?branch=master)](https://coveralls.io/github/IBM-Cloud/logistics-wizard-erp?branch=master) | [![Build Status](https://travis-ci.org/IBM-Cloud/logistics-wizard-erp.svg?branch=dev)](https://travis-ci.org/IBM-Cloud/logistics-wizard-erp) [![Coverage Status](https://coveralls.io/repos/github/IBM-Cloud/logistics-wizard-erp/badge.svg?branch=dev)](https://coveralls.io/github/IBM-Cloud/logistics-wizard-erp?branch=dev)| 72 | | [logistics-wizard-controller][controller_github_url] | [![Build Status](https://travis-ci.org/IBM-Cloud/logistics-wizard-controller.svg?branch=master)](https://travis-ci.org/IBM-Cloud/logistics-wizard-controller) [![Coverage Status](https://coveralls.io/repos/github/IBM-Cloud/logistics-wizard-controller/badge.svg?branch=master)](https://coveralls.io/github/IBM-Cloud/logistics-wizard-controller?branch=master) | [![Build Status](https://travis-ci.org/IBM-Cloud/logistics-wizard-controller.svg?branch=dev)](https://travis-ci.org/IBM-Cloud/logistics-wizard-controller) [![Coverage Status](https://coveralls.io/repos/github/IBM-Cloud/logistics-wizard-controller/badge.svg?branch=dev)](https://coveralls.io/github/IBM-Cloud/logistics-wizard-controller?branch=dev) | 73 | | [logistics-wizard-recommendation][recommendation_github_url] | [![Build Status](https://travis-ci.org/IBM-Cloud/logistics-wizard-recommendation.svg?branch=master)](https://travis-ci.org/IBM-Cloud/logistics-wizard-recommendation) [![Coverage Status](https://coveralls.io/repos/github/IBM-Cloud/logistics-wizard-recommendation/badge.svg?branch=master)](https://coveralls.io/github/IBM-Cloud/logistics-wizard-recommendation?branch=master) | [![Build Status](https://travis-ci.org/IBM-Cloud/logistics-wizard-recommendation.svg?branch=dev)](https://travis-ci.org/IBM-Cloud/logistics-wizard-recommendation) [![Coverage Status](https://coveralls.io/repos/github/IBM-Cloud/logistics-wizard-recommendation/badge.svg?branch=dev)](https://coveralls.io/github/IBM-Cloud/logistics-wizard-recommendation?branch=dev)| 74 | | [logistics-wizard-webui][webui_github_url] | [![Build Status](https://travis-ci.org/IBM-Cloud/logistics-wizard-webui.svg?branch=master)](https://travis-ci.org/IBM-Cloud/logistics-wizard-webui) [![Coverage Status](https://coveralls.io/repos/github/IBM-Cloud/logistics-wizard-webui/badge.svg?branch=master)](https://coveralls.io/github/IBM-Cloud/logistics-wizard-webui?branch=master) | [![Build Status](https://travis-ci.org/IBM-Cloud/logistics-wizard-webui.svg?branch=dev)](https://travis-ci.org/IBM-Cloud/logistics-wizard-webui) [![Coverage Status](https://coveralls.io/repos/github/IBM-Cloud/logistics-wizard-webui/badge.svg?branch=dev)](https://coveralls.io/github/IBM-Cloud/logistics-wizard-webui?branch=dev)| 75 | 76 | 77 | 78 | [webui_github_url]: https://github.com/IBM-Cloud/logistics-wizard-webui 79 | [controller_github_url]: https://github.com/IBM-Cloud/logistics-wizard-controller 80 | [erp_github_url]: https://github.com/IBM-Cloud/logistics-wizard-erp 81 | [recommendation_github_url]: https://github.com/IBM-Cloud/logistics-wizard-recommendation 82 | [toolchain_github_url]: https://github.com/IBM-Cloud/logistics-wizard-toolchain 83 | 84 | 85 | ## Credits 86 | 87 | Credit for the code goes to IBM. I've merely created a wrapper to get people started. 88 | -------------------------------------------------------------------------------- /AI for Supply Chains.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "metadata": {}, 6 | "source": [ 7 | "# Demo - We will use AI to help a simulated global retail company adapt its supply chain to react to changing weather conditions that could impact its shipments or become opportunities to increase revenues.\n", 8 | "\n", 9 | "![alt text](https://i.imgur.com/w9iys1C.png \"Logo Title Text 1\")\n", 10 | "\n", 11 | "## What is a Supply Chain? \n", 12 | "\n", 13 | "![alt text](https://s9783.pcdn.co/wp-content/uploads/2017/06/Blog-CFO.png \"Logo Title Text 1\")\n", 14 | "\n", 15 | "- A supply chain is a network between a company and its suppliers to produce and distribute a specific product, and the supply chain represents the steps it takes to get the product or service to the customer. \n", 16 | "- Supply chain management is a crucial process because an optimized supply chain results in lower costs and a faster production cycle.\n", 17 | "- Supply chains are hugely important in our world of physical goods. Companies invest a lot of money and effort to continually optimize and improve them, and that’s not likely to ever stop. \n", 18 | "- Save 5% on transportation costs? That’s a big deal.\n", 19 | "- A supply chain management system can reduce the cost and complexity of the manufacturing process, particularly for a manufacturer that uses many parts. \n", 20 | "- 1 A clothing manufacturer will move raw materials into production first. \n", 21 | "- 2 The manufacturer then incurs labor costs to run machinery and perform other work using the materials.\n", 22 | "- 3 Once the items are completed, they must be packaging and stored until they are sold to a customer. \n", 23 | "\n", 24 | "![alt text](https://image.slidesharecdn.com/ai-for-supplychain-170121010550/95/5-ways-ai-will-revolutionize-supply-chains-3-638.jpg?cb=1484961041 \"Logo Title Text 1\")\n", 25 | "\n", 26 | "## The Problem with Supply Chains\n", 27 | "\n", 28 | "![alt text](https://image.slidesharecdn.com/scmseminar-120913101036-phpapp01/95/international-supply-chain-management-24-728.jpg?cb=1347531190 \"Logo Title Text 1\")\n", 29 | "\n", 30 | "- They require armies of expensive planners\n", 31 | "- They run complex engines at each step in the process and at each node in the supply network\n", 32 | "- They are usually in conflict with other functions and/or partners\n", 33 | "- They miss huge opportunities hidden in the network because they are locally sub optimized\n", 34 | "- They work on stale data and thus promote bad decisions\n", 35 | "- They use dumbed-down, over-simplified problem models that do not relate to the real world\n", 36 | "\n", 37 | "![alt text](http://2.bp.blogspot.com/-EErBmLMLHvM/UvqAxXwUAFI/AAAAAAAAHeQ/_JO30fCA1Cw/s1600/Costly.jpg \"Logo Title Text 1\")\n", 38 | "\n", 39 | "## What Does a Startup need to Improve a Supply Chain using AI? \n", 40 | "\n", 41 | "![alt text](https://vitalai.files.wordpress.com/2015/12/data-supply-chain-edv2015-hadfield-submitted-001.png?w=636 \"Logo Title Text 1\")\n", 42 | "\n", 43 | "- 1 Access to Real-Time Data. \n", 44 | "- Most supply chains today attempt to execute plans using data that is days old, but this results in poor decision-making that sub-optimizes the supply chain\n", 45 | "- 2 Access to Community (Multi-Party) Data (data outside of an enterprise is highly useful)\n", 46 | "- 3 Support for Network-Wide Objective Functions\n", 47 | "- AI solutions must support global consumer-driven objectives even when faced with constraints within the supply chain\n", 48 | "- 4 Decision Process Must Be Incremental and Consider the Cost of Change\n", 49 | "- An AI tool must consider trade-offs in terms of cost of change against incremental benefits when making decisions.\n", 50 | "- 5 Decision Process Must Be Continuous, Self-Learning and Self-Monitoring\n", 51 | "\n", 52 | "![alt text](http://www.datascienceassn.org/sites/default/files/users/user30/aa_0.jpg \"Logo Title Text 1\")\n", 53 | "\n", 54 | "- Variability and latency is a recurring problem, and execution efficiency varies constantly. The AI system must be looking at the problem continuously, not just periodically\n", 55 | "- 6 AI Engines Must Be Autonomous Decision-Making Engines\n", 56 | "- Significant value can only be achieved if the algorithm can not only make intelligent decisions but can also execute them. \n", 57 | "- 7 AI Engines Must Be Highly Scalable\n", 58 | "- Large community supply chains can have millions if not hundreds of millions of stocking locations. AI solutions must be able to make smart decisions, fast, and on a massive scale.\n", 59 | "- 8. Must Have a Way for Users to Engage with the System\n", 60 | "- AI should not operate in a “black box.” The UI must give users visibility to decision criteria, propagation impact, and enable them to understand issues that the AI system cannot solve\n", 61 | "\n", 62 | "![alt text](https://www.bizintel360.com/wp-content/uploads/2017/11/2.png \"Logo Title Text 1\")\n", 63 | "\n", 64 | "## What are different ways AI can solve this problem?\n", 65 | "\n", 66 | "##### According to a recent Forrester survey of global decision makerd, only 13 percent of companies report that logistics is the area of their organization that is leading or evaluating the investment and adoption of AI systems. Coupled with the vast amount of underutilized data supply chains generate and theres MASSIVE potential for disruption. AI + IOT + blockchain = an autonomous supply chain (self-aware, self-governing and self-determining)\n", 67 | "\n", 68 | "![alt text](https://cdn.sdcexec.com/files/base/acbm/sdce/image/2017/09/960w/key_technology_elements_of_network.59b2a6c887586.jpg \"Logo Title Text 1\")\n", 69 | "\n", 70 | "### Chatbots for Operational Procurement\n", 71 | "\n", 72 | "![alt text](https://cdn-images-1.medium.com/max/1600/1*4L0robaTCDEuZnKtCpjioA.jpeg \"Logo Title Text 1\")\n", 73 | "\n", 74 | "- Streamlining procurement related tasks through the automation and augmentation of Chabot capability requires access to robust and intelligent data sets\n", 75 | "- A ‘procuebot’ would be able to access this a frame of reference\n", 76 | "- It could 1 speak to suppliers during trivial conversations\n", 77 | "- 2 Also set and send actions to suppliers regarding governance and compliance materials.\n", 78 | "- 3 Automatically place purchasing requests\n", 79 | "- 4 Research and answer internal questions regarding procurement functionalities or a supplier/supplier set.\n", 80 | "- 5 Receiving/filing/documentation of invoices and payments/order requests (Smith 2016).\n", 81 | "- http://chymebot.com/ is one example \n", 82 | "\n", 83 | "### Machine Learning (ML) for Supply Chain Planning\n", 84 | "\n", 85 | "- Could help with forecasting within inventory, demand and supply. \n", 86 | "- SCM professionals would be giving best possible scenarios based upon intelligent algorithms and machine-to-machine analysis of big data sets. \n", 87 | "- This kind of capability could optimize the delivery of goods while balancing supply and demand, and wouldn’t require human analysis, but rather action setting for parameters of success.\n", 88 | "- https://www.clearmetal.com/ is one example \n", 89 | "\n", 90 | "### Machine Learning for Warehouse Management\n", 91 | "\n", 92 | "![alt text](https://www.trucks.com/wp-content/uploads/2017/01/etfgraphiweb.jpg \"Logo Title Text 1\")\n", 93 | "\n", 94 | "- Supply chains are heavily reliant on proper warehouse and inventory-based management. \n", 95 | "- Regardless of demand forecasting, supply flaws (overstocking or under stocking) can be a disaster for just about any consumer-based company/retailer.\n", 96 | "- ML provides an endless loop of forecasting, which bears a constantly self-improving output. \n", 97 | "- This kind of capabilities could reshape warehouse management as we know today.\n", 98 | "- https://rubikloud.com/ is one example \n", 99 | "\n", 100 | "### Autonomous Vehicles for Logistics and Shipping\n", 101 | "\n", 102 | "![alt text](https://eyefortransportdrupalfs.s3.amazonaws.com/morai-logistics-blog-driverless-car-manufacturing-supply-chain.png \"Logo Title Text 1\")\n", 103 | "\n", 104 | "- Faster and more accurate shipping reduces lead times and transportation expenses\n", 105 | "- It also adds elements of environmental friendly operations, reduces labor costs, and — most important of all — widens the gap between competitors.\n", 106 | "- Where drivers are restricted by law from driving more than 11 hours per day without taking an 8-hour break, a driverless truck can drive nearly 24 hours per day.\n", 107 | "- That means the technology would effectively double the output of the U.S. transportation network at 25 percent of the cost\n", 108 | "- wwww.comma.ai is one example\n", 109 | "\n", 110 | "### Natural Language Processing (NLP) for Data Cleansing and Building Data Robustness\n", 111 | "\n", 112 | "![alt text](http://www.directingintelligence.com/wp-content/uploads/2016/06/1-1.jpg \"Logo Title Text 1\")\n", 113 | "\n", 114 | "- NLP could build data sets regarding suppliers, and decipher untapped information, due to language barrier. \n", 115 | "- From a CSR or Sustainability & Governance perspective, NLP technology could streamline auditing and compliance actions previously unable because of existing language barriers between buyer-supplier bodies\n", 116 | "- https://www.datalogue.io/\n", 117 | "\n", 118 | "### ML and Predictive Analytics for Supplier Selection and Supplier Relationship Management (SRM)\n", 119 | "\n", 120 | "![alt text](https://ars.els-cdn.com/content/image/1-s2.0-S1570868316300702-gr003.jpg \"Logo Title Text 1\")\n", 121 | "\n", 122 | "- Supplier related risks have become the ball and chain for globally visible brands. \n", 123 | "- One slip-up in the operations of a supplier body, and bad PR is heading right towards your company.\n", 124 | "- But, what if you had the best possible scenario for supplier selection and risk management, during every single supplier interaction?\n", 125 | "- Data sets, generated from SRM actions, such as supplier assessments, audits, and credit scoring provide an important basis for further decisions regarding a supplier.\n", 126 | "- With the help of Machine Learning and intelligible algorithms, this (otherwise) passive data gathering could be made active.\n", 127 | "- AI can tell you the best supplier" 128 | ] 129 | }, 130 | { 131 | "cell_type": "code", 132 | "execution_count": null, 133 | "metadata": {}, 134 | "outputs": [], 135 | "source": [ 136 | "\n", 137 | "\n", 138 | "\n" 139 | ] 140 | } 141 | ], 142 | "metadata": { 143 | "kernelspec": { 144 | "display_name": "Python 3", 145 | "language": "python", 146 | "name": "python3" 147 | }, 148 | "language_info": { 149 | "codemirror_mode": { 150 | "name": "ipython", 151 | "version": 3 152 | }, 153 | "file_extension": ".py", 154 | "mimetype": "text/x-python", 155 | "name": "python", 156 | "nbconvert_exporter": "python", 157 | "pygments_lexer": "ipython3", 158 | "version": "3.6.3" 159 | } 160 | }, 161 | "nbformat": 4, 162 | "nbformat_minor": 2 163 | } 164 | --------------------------------------------------------------------------------