Hızlı başlangıç: Azure hisse 'ta en iyi duruma getirme sorununu çözme
Basit bir ikili iyileştirme sorununu çözmek için Azure hisse 'ta en iyi duruma getirme lehiyisini nasıl kullanacağınızı öğrenin.
Önkoşullar
- Bu öğreticiyi tamamlayabilmeniz için bir Azure aboneliğine ihtiyacınız vardır. Azure aboneliğiniz yoksa başlamadan önce ücretsiz bir hesap oluşturun.
Azure hisse çalışma alanı oluşturma
Azure portal Azure aboneliğinize bir Azure hisse çalışma alanı kaynağı ekleyerek Azure hisse hizmeti 'ni kullanırsınız. Bir Azure hisse çalışma alanı kaynağı veya Short çalışma alanı, çalışan hisse veya iyileştirme uygulamalarıyla ilişkili varlıkların bir koleksiyonudur.
Azure portalını açmak için adresine gidin https://portal.azure.com ve şu adımları izleyin:
Kaynak oluştur ' a tıklayın ve ardından Azure hisse için arama yapın. Sonuçlar sayfasında, Azure hisse (Önizleme) hizmeti için bir kutucuk görmeniz gerekir.

Azure hisse (Önizleme) seçeneğine tıklayın ve ardından Oluştur' a tıklayın. Bu, bir çalışma alanı oluşturmak için bir form açar.

Çalışma alanınızın ayrıntılarını doldurun:
- Abonelik: Bu çalışma alanıyla ilişkilendirmek istediğiniz abonelik.
- Kaynak grubu: Bu çalışma alanını atamak istediğiniz kaynak grubu.
- Ad: Çalışma alanınızın adı.
- Bölge: Çalışma alanının bölgesi.
- Depolama hesabı: işlerinizi ve sonuçlarınızı depolamak için Azure depolama hesabı. Mevcut bir depolama hesabınız yoksa, Yeni depolama hesabı oluştur ' a tıklayın ve gerekli alanları doldurun. Bu önizleme için varsayılan değerleri kullanmanızı öneririz.

Not
Yeni bir depolama hesabı oluşturmak için seçili kaynak grubunun sahibi olmanız gerekir. Kaynak gruplarının Azure 'da nasıl çalıştığı hakkında daha fazla bilgi için bkz. Azure Resource Manager Ile Azure kaynaklarını denetleme ve düzenleme.
Bilgileri tamamladıktan sonra, çalışma alanınıza sağlayıcılar eklemek için sağlayıcılar sekmesine tıklayın. Sağlayıcı, hisse bir donanım, hisse simülatör veya en iyi duruma getirme hizmeti olabilen bir hisse hizmeti erişimi sağlar.

Not
Varsayılan olarak, Azure hisse hizmeti, Microsoft QıO sağlayıcısını her çalışma alanına ekler.
Microsoft QıO sağlayıcısı 'nın etkinleştirildiğinden emin olun (varsayılan olarak) ve ardından gözden geçir + oluştur' a tıklayın.
Seçtiğiniz ayarı gözden geçirin ve her şey doğruysa, çalışma alanınızı oluşturmak için Oluştur ' a tıklayın.
Not
Azure hisse fiyatları, sağlayıcıya göre farklılık gösterir. Lütfen en güncel fiyatlandırma bilgileri için Azure portal Azure hisse çalışma alanınızın sağlayıcılar sekmesindeki bilgileri inceleyin veya Azure hisse fiyatlandırma sayfasınıziyaret edin.
Azure-hisse Python paketini yükler
Bir çözüm uygulamak için öncelikle makinenizde Azure-hisse Python paketinin yüklü olduğundan emin olun. Henüz yüklemediyseniz, şu adımları izleyin:
Henüz yapmadıysanız Python 3,6 veya üstünü yükleyebilirsiniz.
PIP 'yi yükleyip Sürüm 19,2 veya üzeri bir sürüme sahip olduğunuzdan emin olun.
azure-quantumPython paketini yükler.--upgradeEn son sürümü aldığınızdan emin olmak için bayrağını kullanın.pip install --upgrade azure-quantum
Jupyıter Not defteri yüklemesi
İsteğe bağlı olarak, Jupyıter not defterlerini kullanarak Azure hisse iyileştirmeye karşı etkileşim kurmayı tercih edebilirsiniz. Bunu yapmak için şunları yapmanız gerekir:
Azure-hisse Python paketini (önceki bölümde açıklandığı gibi) yükler
Seçtiğiniz terminalinizde, yeni bir Jupyter Notebook başlatmak için aşağıdaki komutu kullanın:
jupyter notebookBu yeni bir tarayıcı penceresi (veya yeni bir sekme) ve Not defteri panosunu gösteren bir denetim masası, hangi Not defteri açılacağı üzerinde seçim yapmanızı sağlar.
Tarayıcı görünümünde, sağ üst köşedeki açılan menü düğmesini seçin ve
Python 3listeden seçin. Bunun için yeni bir not defteri oluşturulması gerekir.
Azure hisse çalışma alanı oluşturma ve bu bağlantı
Bir Workspace Azure hisse çalışma alanını temsil eder ve hizmetle etkileşimde bulunmak için ana arabirimdir.
from typing import List
from azure.quantum.optimization import Term
from azure.quantum import Workspace
workspace = Workspace (
subscription_id = "", # Add your subscription_id
resource_group = "", # Add your resource_group
name = "", # Add your workspace name
location = "" # Add your workspace location (for example, "westus")
)
Azure hizmetiyle etkileşim kuran bir yöntemi ilk kez çalıştırdığınızda bir pencere, kimlik bilgilerinizi isteyen varsayılan tarayıcınızda bir pencere isteyebilir.
İsteğe bağlı olarak, bir kimlik bilgisini nesnenin yapımını veya özelliğini kullanarak, kimlik doğrulamasında kullanılacak şekilde geçirebilirsiniz Workspace credentials .
Daha fazla bilgi için bkz . Azure. hisse. çalışma alanı
Not
workspace.login()Yöntem kullanımdan kaldırılmıştır ve artık gerekli değildir. İlk kez hizmete bir çağrı olduğunda, oluşturucuda veya özelliği içinde geçirilen kimlik bilgileri kullanılarak bir kimlik doğrulaması denenir Workspace credentials . Kimlik bilgisi geçirilmemişse, DefaultAzureCredentialtarafından birkaç kimlik doğrulama yöntemi denenir.
Basit bir sorun ifade edin
Çözülebilme basit bir sorunu ifade etmek için bir örneğini oluşturun ve ya da Problem ' a ayarlayın problem_type ProblemType.ising ProblemType.pubo . Daha fazla bilgi için bkz. ProblemType.
from azure.quantum.optimization import Problem, ProblemType, Term
problem = Problem(name="My First Problem", problem_type=ProblemType.ising)
Sonra, bir nesne dizisi oluşturun Term ve bunları öğesine ekleyin Problem :
terms = [
Term(c=-9, indices=[0]),
Term(c=-3, indices=[1,0]),
Term(c=5, indices=[2,0]),
Term(c=9, indices=[2,1]),
Term(c=2, indices=[3,0]),
Term(c=-4, indices=[3,1]),
Term(c=4, indices=[3,2])
]
problem.add_terms(terms=terms)
Not
Soruna yönelik koşullar sağlamak için birden çok yol vardır ve tüm koşulların aynı anda eklenmesi gerekir.
En iyi duruma getirme çözücü uygulama
Microsoft QıO sağlayıcısı için, paralel bir bağımsız değişken bağımsız sürümü kullanacağız. Bu çözücü ve diğer mevcut Lehler hakkındaki belgeleri Microsoft QIO sağlayıcısı başvurusundabulabilirsiniz.
from azure.quantum.optimization import ParallelTempering
solver = ParallelTempering(workspace, timeout=100)
result = solver.optimize(problem)
print(result)
Bu yöntem, sorunu en iyi duruma getirmek için Azure hisse ve zaman uyumlu olarak bekler. Terminal pencerenizde veya Jupyter Notebook aşağıdakine benzer bir çıktı görürsünüz:
{'solutions': [{'configuration': {'0': 1, '1': 1, '2': -1, '3': 1}, 'cost': -32.0}]}
Önkoşullar
- Bu öğreticiyi tamamlayabilmeniz için bir Azure aboneliğine ihtiyacınız vardır. Azure aboneliğiniz yoksa başlamadan önce ücretsiz bir hesap oluşturun.
Azure hisse çalışma alanı oluşturma
Azure portal Azure aboneliğinize bir Azure hisse çalışma alanı kaynağı ekleyerek Azure hisse hizmeti 'ni kullanırsınız. Bir Azure hisse çalışma alanı kaynağı veya Short çalışma alanı, çalışan hisse veya iyileştirme uygulamalarıyla ilişkili varlıkların bir koleksiyonudur.
Azure portalını açmak için adresine gidin https://portal.azure.com ve şu adımları izleyin:
Kaynak oluştur ' a tıklayın ve ardından Azure hisse için arama yapın. Sonuçlar sayfasında, Azure hisse (Önizleme) hizmeti için bir kutucuk görmeniz gerekir.

Azure hisse (Önizleme) seçeneğine tıklayın ve ardından Oluştur' a tıklayın. Bu, bir çalışma alanı oluşturmak için bir form açar.

Çalışma alanınızın ayrıntılarını doldurun:
- Abonelik: Bu çalışma alanıyla ilişkilendirmek istediğiniz abonelik.
- Kaynak grubu: Bu çalışma alanını atamak istediğiniz kaynak grubu.
- Ad: Çalışma alanınızın adı.
- Bölge: Çalışma alanının bölgesi.
- Depolama hesabı: işlerinizi ve sonuçlarınızı depolamak için Azure depolama hesabı. Mevcut bir depolama hesabınız yoksa, Yeni depolama hesabı oluştur ' a tıklayın ve gerekli alanları doldurun. Bu önizleme için varsayılan değerleri kullanmanızı öneririz.

Not
Yeni bir depolama hesabı oluşturmak için seçili kaynak grubunun sahibi olmanız gerekir. Kaynak gruplarının Azure 'da nasıl çalıştığı hakkında daha fazla bilgi için bkz. Azure Resource Manager Ile Azure kaynaklarını denetleme ve düzenleme.
Bilgileri tamamladıktan sonra, çalışma alanınıza sağlayıcılar eklemek için sağlayıcılar sekmesine tıklayın. Sağlayıcı, hisse bir donanım, hisse simülatör veya en iyi duruma getirme hizmeti olabilen bir hisse hizmeti erişimi sağlar.

Not
Varsayılan olarak, Azure hisse hizmeti, Microsoft QıO sağlayıcısını her çalışma alanına ekler.
En az 1Qı Iyileştirme platformu sağlayıcısı ekleyin ve ardından gözden geçir + oluştur' a tıklayın.
Seçtiğiniz ayarı gözden geçirin ve her şey doğruysa, çalışma alanınızı oluşturmak için Oluştur ' a tıklayın.

Not
Azure hisse fiyatları, sağlayıcıya göre farklılık gösterir. Lütfen en güncel fiyatlandırma bilgileri için Azure portal Azure hisse çalışma alanınızın sağlayıcılar sekmesindeki bilgileri inceleyin veya Azure hisse fiyatlandırma sayfasınıziyaret edin.
Azure-hisse Python paketini yükler
Bir çözüm uygulamak için öncelikle makinenizde Azure-hisse Python paketinin yüklü olduğundan emin olun. Henüz yüklemediyseniz, şu adımları izleyin:
Henüz yapmadıysanız Python 3,6 veya üstünü yükleyebilirsiniz.
PIP 'yi yükleyip Sürüm 19,2 veya üzeri bir sürüme sahip olduğunuzdan emin olun.
azure-quantumPython paketini yükler.--upgradeEn son sürümü aldığınızdan emin olmak için bayrağını kullanın.pip install --upgrade azure-quantum
Jupyıter Not defteri yüklemesi
İsteğe bağlı olarak, Jupyıter not defterlerini kullanarak Azure hisse iyileştirmeye karşı etkileşim kurmayı tercih edebilirsiniz. Bunu yapmak için şunları yapmanız gerekir:
Azure-hisse Python paketini (önceki bölümde açıklandığı gibi) yükler
Seçtiğiniz terminalinizde, yeni bir Jupyter Notebook başlatmak için aşağıdaki komutu kullanın:
jupyter notebookBu yeni bir tarayıcı penceresi (veya yeni bir sekme) ve Not defteri panosunu gösteren bir denetim masası, hangi Not defteri açılacağı üzerinde seçim yapmanızı sağlar.
Tarayıcı görünümünde, sağ üst köşedeki açılan menü düğmesini seçin ve
Python 3listeden seçin. Bunun için yeni bir not defteri oluşturulması gerekir.
Azure hisse çalışma alanı oluşturma ve bu bağlantı
Bir Workspace Azure hisse çalışma alanını temsil eder ve hizmetle etkileşimde bulunmak için ana arabirimdir.
from typing import List
from azure.quantum.optimization import Term
from azure.quantum import Workspace
workspace = Workspace (
subscription_id = "", # Add your subscription_id
resource_group = "", # Add your resource_group
name = "", # Add your workspace name
location = "" # Add your workspace location (for example, "westus")
)
Azure hizmetiyle etkileşim kuran bir yöntemi ilk kez çalıştırdığınızda bir pencere, kimlik bilgilerinizi isteyen varsayılan tarayıcınızda bir pencere isteyebilir.
İsteğe bağlı olarak, bir kimlik bilgisini nesnenin yapımını veya özelliğini kullanarak, kimlik doğrulamasında kullanılacak şekilde geçirebilirsiniz Workspace credentials .
Daha fazla bilgi için bkz . Azure. hisse. çalışma alanı
Not
workspace.login()Yöntem kullanımdan kaldırılmıştır ve artık gerekli değildir. İlk kez hizmete bir çağrı olduğunda, oluşturucuda veya özelliği içinde geçirilen kimlik bilgileri kullanılarak bir kimlik doğrulaması denenir Workspace credentials . Kimlik bilgisi geçirilmemişse, DefaultAzureCredentialtarafından birkaç kimlik doğrulama yöntemi denenir.
Basit bir sorun ifade edin
Çözülebilme basit bir sorunu ifade etmek için bir örneğini oluşturun ve ya da Problem ' a ayarlayın problem_type ProblemType.ising ProblemType.pubo . Daha fazla bilgi için bkz. ProblemType.
from azure.quantum.optimization import Problem, ProblemType, Term
problem = Problem(name="My First Problem", problem_type=ProblemType.ising)
Sonra, bir nesne dizisi oluşturun Term ve bunları öğesine ekleyin Problem :
terms = [
Term(c=-9, indices=[0]),
Term(c=-3, indices=[1,0]),
Term(c=5, indices=[2,0]),
Term(c=9, indices=[2,1]),
Term(c=2, indices=[3,0]),
Term(c=-4, indices=[3,1]),
Term(c=4, indices=[3,2])
]
problem.add_terms(terms=terms)
Not
Soruna yönelik koşullar sağlamak için birden çok yol vardır ve tüm koşulların aynı anda eklenmesi gerekir.
En iyi duruma getirme çözücü uygulama
1QBit sağlayıcısı için yol yeniden bağlama çözücü kullanacağız. Bu çözücü ve diğer mevcut Lehler üzerinde, 1Qbit sağlayıcı başvurusundabelge bulabilirsiniz.
from azure.quantum.optimization.oneqbit import PathRelinkingSolver
solver = PathRelinkingSolver(workspace)
result = solver.optimize(problem)
print(result)
Bu yöntem, sorunu en iyi duruma getirmek için Azure hisse ve zaman uyumlu olarak bekler. Terminal pencerenizde veya Jupyter Notebook aşağıdakine benzer bir çıktı görürsünüz:
{'solutions': [{'configuration': {'0': 1, '1': 1, '2': -1, '3': 1}, 'cost': -32.0}]}
Not
Azure hisse ile çalışırken bir hata ile karşılaşırsanız, yaygın sorunlar listemizikontrol edebilirsiniz. Ayrıca, bir iyileştirme çözücü kullanıyorsa ve formda bir hata alırsanız <AZQxxx> , en iyi duruma getirme için sık karşılaşılan Kullanıcı hataları listemizikontrol edebilirsiniz.
Sonraki adımlar
Belgeler
- Çözücü genel bakış
- Sorunları & sağlama terimleri belirtme
- Çözücü sonuçlarını yorumlama
- İş yönetimi
- Uzun süre çalışan sorunları çözme (zaman uyumsuz sorun gönderimi)
- Sorun tanımlarını yeniden kullan
- Hizmet sorumlusu ile kimlik doğrulama
- Microsoft QıO çözücü için lehvers başvurusu
- 1QBit çözücü için lehvers başvurusu
Örnekler ve uçtan uca öğrenme
- QıO örnekleri deposu
- Başlarken
- Yükleme örnek sorunu gönder
- İş atölye zamanlaması örnek sorunu