repo นี้มีการใช้งานกระดาษ
การออกแบบโดยอัตโนมัติที่เชื่อถือได้และทนต่อความผิดพลาดของเครือข่าย IoT ที่ใช้ LORA
Xiaofan Yu, Weihong Xu, Ludmila Cherkasova, Tajana Šimunić Rosing
CNSM 2021. รางวัลกระดาษที่ดีที่สุด
Python 3.7
NS3-3.31 + โมดูล Lorawan
MATLAB 2020A + SNOPT 7.7
.
├── LICENSE
├── README.md // This file
├── alg // Algorithms for LoRa gateway placement and device configuration
├── data // End device location data and how to generate path loss matrix
├── ns3-exp // Scripts to test in ns3
└── relaxOpt // MATLAB scripts to call SNOPT to optimally solve the relaxed problem
ใน ./data โฟลเดอร์เรารวมการสอนเกี่ยวกับวิธีการสร้างชุดข้อมูล
ชุดข้อมูลแต่ละชุดรวมถึง (i) ตำแหน่งอุปกรณ์ปลายทาง (ii) ตำแหน่งเกตเวย์ผู้สมัครและเมทริกซ์การสูญเสียเส้นทาง (iii) รายการที่มี (i, j) เป็นตัวแทนของการสูญเสียเส้นทางใน db ระหว่างอุปกรณ์ ith end และเกตเวย์ Jth
คำแนะนำโดยละเอียดแสดงอยู่ในข้อมูล/readme.md
ใน ./alg โฟลเดอร์เราใช้อัลกอริทึมต่อไปนี้:
./alg/RGreedy.py )./alg/clustering.py ) ต้องการแพ็คเกจ Scikit-learn./alg/RGenetic.py ) ต้องการแพ็คเกจ Geneticetygorithmมีเส้นเขตแดนต่อไปนี้รวมอยู่ด้วย:
./alg/ICIOT.py ) ./alg/main.py ตั้งค่าอัลกอริทึมที่จะเรียกใช้และพารามิเตอร์ของปัญหา
เพื่อเรียกใช้อัลกอริทึม:
python3 ./alg/main.pyในการเรียกใช้การจำลอง NS-3 ให้ติดตั้ง NS3-3.31 ก่อน
จากนั้นโคลนโมดูล Lorawan ที่แก้ไขแล้วของเราและคัดลอกสคริปต์ทดสอบ:
cd root-of-ns3/ns-3.31/src
git clone https://github.com/Orienfish/lorawan.git
cp path-to-this-repo/ns3-exp/adr.cc root-of-ns3/ns-3.31/scratchเพื่อเรียกใช้การจำลอง NS-3:
cd root-of-ns3/ns-3.31
./waf --run adrสามารถตั้งค่าพารามิเตอร์หลายตัวด้วยคำสั่ง:
./waf --run " adr --MType=Confirmed --intfrPowerdBm=-126 --nPeriods=72 "สำหรับรายละเอียดเพิ่มเติมตรวจสอบฟังก์ชั่นช่วยเหลือและซอร์สโค้ด
สคริปต์ Bash หลายตัวรวมอยู่ในโฟลเดอร์ ./ns3-exp สำหรับการทดลองใช้
เราพัฒนาปัญหาที่ผ่อนคลายและแก้ปัญหาได้อย่างดีที่สุดด้วย SNOPT การใช้งานจะทำใน MATLAB โดยใช้อินเทอร์เฟซไปยัง SNOPT (ใน ./relaxOpt relaxopt โฟลเดอร์)
เพื่อเปรียบเทียบขอบเขตที่ผ่อนคลายกับโซลูชันโลภภายใต้อุปกรณ์สิ้นสุดที่วางแบบสุ่มอัลกอริทึมการเรียกใช้ครั้งแรกกับ python3 ./alg/main.py จากนั้นตำแหน่งอุปกรณ์ที่สร้างขึ้นตำแหน่งเกตเวย์ผู้สมัครและเมทริกซ์การสื่อสารที่จำเป็นจะถูกบันทึกโดยตรงไปยัง ./relaxOpt relaxopt
เปิด Matlab และ Run ./relaxOpt/relaxedOpt.m
มิกซ์